2016-09-28 1 views
2

私はSQL Server 2014を使用しています。ODBC経由でリンクサーバーをレガシーデータベースシステムにセットアップしました。このクエリを実行すると、次のようになります。SQL Serverのリンクされたサーバークエリが空の行を返します

select * 
from openquery([MyLink], 'select Ref, FxRate from <table> where Ref=155003') 

正しいレコード数と列数で結果が得られます。実際の数字は、このためにあるテーブルでは

Ref FxRate 
    0  0 

しかし、値はすべてデフォルトです。この同じデータベースの別のサーバーからリンクされたサーバーを実行することができました。私はできる限りのことを再現しようとしました。これをトラブルシューティングする方法に関する考えはありますか?

+0

あなたは 'SELECT Ref、FxRate FROM LinkedServer.DataBase.schema.table WHERE Ref = 155003'を試しましたか? – gofr1

+0

そうですね、同じ結果が出ました。 – user2966852

+0

したがって、OPENQUERYを使用している場合は、linked_server.database.schema.tableの出力に同じゼロが表示されますか?このサーバーでこのクエリを直接実行できますか? – gofr1

答えて

2

他にもこの回答を投稿しています。 ODBCドライバは新しいマシンのOSと互換性がありませんでした。私はこの結論に、レガシーデータベースで正しいクエリが実行されていることを確認した後、結果が正しく表示されない(すべてが空白になっていた)ことを確認した後に到着しました。私はその後、エンコードの問題を排除しました。最後に、それを修正したODBCドライバをアップグレードしました。

関連する問題