最近、SQL DB を SQL2005 32 ビットから 64 ビットに移動しました。OraOLEDB.Oracle Provider を使用して Oracle に接続する際に問題が発生しています。
Oracle 10G Client 、ODAC 64 ビットをインストールできました。リンク サーバーを Oracle インスタンスに追加することもできました。リンク サーバー名を直接使用してクエリを実行できます。
SELECT top 10 *
FROM [DB0PBB0]..[DB0PBB0].[DM_CLICK]
これまでのところ問題はありませんが、OPENQUERY を使用しようとすると問題が発生します。私は次のことを試しました:
select * from
OPENQUERY(DB0PBB0,'select * from DB0PBB0.DM_CLICK where Date_stamp <''24-Jul-09'' and Date_stamp >= ''23-Jul-09'' ')
SET FMTONLY OFF
select * from
OPENQUERY(DB0PBB0,'select * from DB0PBB0.DM_CLICK where Date_stamp <''24-Jul-09'' and Date_stamp >= ''23-Jul-09'' ')
そして、列名のみを取得し、行は取得しません:(
このスクリプトを実行すると:
SET FMTONLY OFF
select * from
OPENQUERY(DB0PBB0,'select ''hello'' from dual ')
私は得る
こんにちは
私の質問は、SQL05 64bit から Oracle に対して OPENQUERY を実行しようとした人はいますか? データの代わりに列だけが返されるのはなぜですか? 同じリンクを使用して別のサーバーで同じクエリを試したところ、機能し、行が返されました。