1

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

ステートメントを実行するだけで問題なく動作します。それらをトランザクションでラップすると、そうではありません。

どんな助けでも大歓迎です。

4

1 に答える 1