適用先
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

現象

Microsoft SQL Server 2012 または SQL Server 2014 で OLE DB プロバイダーを使用して、Oracle にリンクされたサーバーからデータを選択するクエリを実行すると、[数値の種類] 列の値がクエリ結果で切り捨てられる場合があります。

原因

この問題が発生するのは、非宣言の精度/小数点以下の Oracle の数値の種類で、SQL Server データ型への1:1 マッピングがクリアされない場合があるためです。 Sql server 2012 SP2 CU2 の前に、SQL Server はこのような値を文字列にマッピングして、精度が低下しないようにします。 ただし、クエリでそのような値の並べ替え順序が必要な場合は、結果が正しく表示されない可能性があります。 SQL Server 2012 SP2 CU2 では、マッピングは numeric (38, 0) に変更され、一部のデータベーススキーマでは、精度/小数点以下の桁数が指定されていない数値を使っていることがあります。 これにより、整数以外の値が必要なときに回帰が生じます。

SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。

回避策

この問題を回避するには、Oracle フィールドを数値型から最初に SQL Server で完全にサポートされるデータ型に変換します。

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。