ローカル システムで CFDBINFO を使用すると、デフォルトの列値が正確に取得されて返されます。別のシステムでは、そうではありません (デフォルトの制約に気付かないようです)。
どちらのシステムも CF 9,0,1,274733 を使用しており、どちらも MSSQL Server 2008 に接続しています。テーブルを構築するスクリプトを含む両方のシステムのコードは同一です (同じリポジトリ、同じバージョン番号)。(私は 3 番目のシステムでもテストを実行し、正確な結果を得ました)
この問題を複数の異なるテーブルでテストしましたが、毎回発生します。わがままなサーバーでデフォルト値が返されることはありません。まったく新しい名前、まったく新しいデータベースをゼロから作成しましたが、まだ問題が発生しています。イントロスペクションの結果に他の違いは見られません。実際、FK やその他の制約は問題ないように見えます。
これをデバッグする方法がわかりません。キャッシュ関連ではないようです。システムはかなり同じです。ビザンチン設定はありますか?おそらくSQLコネクタの問題ですか?それともジャバ版?提案??? ありがとう!
書式設定を改善するために、以下の提案に基づいてメモを追加します。
MSSQL バージョンを見ると、次のようになります。
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) 2010 年 4 月 2 日 15:48:46 Copyright (c) Windows NT 6.1 上の Microsoft Corporation Express Edition (64 ビット) (ビルド 7601: Service Pack 1)
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) 2010 年 4 月 2 日 15:48:46 Copyright (c) Microsoft Corporation Express Edition with Advanced Services (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1) ) (ハイパーバイザー)
(ハイパーバイザー)ビットを除いて、ほとんど同じです-それを追求する価値があるかどうかはわかりません.
回答: db ユーザーに ddl_admin 権限があることを確認してください。