Sql Server 2008 R2 と DB2 の間にリンク サーバーを作成しました。
クエリ ウィンドウから選択と更新を実行できますが、更新を BEGIN TRANSACTION - COMMIT TRANSACTION でラップしようとすると、次のエラーが発生します。
リンク サーバー "DB2" の OLE DB プロバイダー "DB2OLEDB" が必要なトランザクション インターフェイスをサポートしていないため、要求された操作を実行できませんでした。
「DB2」はリンク サーバーの名前です。
私は4部構成の名前を使用して両方を試しました。
UPDATE [DB2].[TEST].[TEST].[TEST]
SET [COL2] = 2
WHERE [COL1] = 1
OPENQUERY を使用します。
UPDATE OPENQUERY (DB2, 'SELECT [COL2] FROM TEST.TEST WHERE [COL1]=1)
SET [COL2]=2
ステートメントを実行するだけで問題なく動作します。それらをトランザクションでラップすると、そうではありません。
どんな助けでも大歓迎です。