SQLサーバーがSP内のリンクされたOracleサーバーからデータを取得しています。
開発サーバーでは、EF6はSPが列の1つに対してdouble
データ型を返すことを主張していますが、製品では同じ列がdecimal
であると主張しています。
SQL Serverのバージョンは少し異なります。
リンクサーバーの構成方法には(明らかな)違いはありません(つまり、SSMSの接続プロパティを比較しました)。
新機能であるため、本番データベースにはデータベースに非常に少ない(ゼロ、偶数)行がありますが、開発サーバーには多くあります。開発の途中でデータ型を変更する必要があったことを思い出すので、私は関連しているかもしれないと感じています(当時はあまり考えていませんでした)。
ここの問題は何でしょうか?
観察された動作の違いは、2つのサーバー間のパッチレベルの違いによるものです。
SQL Server 2012 SP2の累積的な更新6に含まれている KB305199 の解決策ごとに:
この修正を適用すると、精度/スケールが不明なNUMBER値は、OLE DBプロバイダーで倍精度値として扱われます。精度が重要であり、値の範囲が十分に大きくない場合は、このような値を数値(38、10)として扱い始める新しいトレースフラグ7311を有効にします。