1

Oracle データベースへのリンク サーバーを使用して SQL Server 2005 データベース サーバーをセットアップしています。

削除クエリまたは更新クエリを実行しようとすると、次のエラー メッセージが表示されます。

リンク サーバーの OLE DB プロバイダー "OraOLEDB.Oracle" からブックマークを使用して行をフェッチできません

数時間前にテストしていたときに同じコードが機能していましたが、突然機能しなくなりました。誰かがこれを以前に見たことがあり、それを修正/トラブルシューティングする方法を知っていますか?

DBで直接SQL Developerで実行された同じクエリは正常に機能します。(リンクサーバーに問題があることは知っていますが、何かはわかりません)

任意のポインタをいただければ幸いです。

4

1 に答える 1

0

次の方法で EXEC('query') を使用します。

前のクエリが次のようになっているとします。

UPDATE [MyOraLinkedServer]..[XYZ].[TABLE]SET [DAT_COL] = cast (getdate() as smalldatetime) 

上記のクエリを次のクエリに変更します。

declare @NewValue smalldatetimeset 
@NewValue = cast(getdate() as smalldatetime)
exec( 'update XYZ.TABLE set DAT_COL = ?', @NewValue ) at MyOraLinkedServer

注:これを可能にするには、リンク サーバーで RPC を有効にする必要があります。

このようにして、それはあなたの問題を解決するかもしれません......

于 2012-07-17T18:53:55.950 に答える