- - PR -
SQL Server2005から SQL Server2000のテーブルを更新したい
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-09-10 18:54
1台のPCにSQL Server 2005 Standard Edition(PC-Aとします)
もう一台にSQL Server 2000 Personal SP 4(PC-Bとします)をインストールしています。 下記の処理をSQL Server Management Studioで行いました。 1.SQL Server 2000(PC-B)のリンクサーバーを設定 2.SQL Server 2000(PC-B)のテーブルを参照するVIEW(TEST-Vとします)を作成 3.クエリでTEST-Vの項目をUpdate(結果は正しく更新されます) 4.TEST-Vを開いて項目を更新すると下記のエラーが発生します。 更新された行はありません。 行1のデータはコミットされませんでした。 エラーソース: Net SqlClient Data Provider. エラーメッセージ : リンクサーバー"PC-B"のOLE DB プロバイダ "SQLNCLI"で 分散トランザクションを開始できなかったので、この操作を実行できませんでした。 リンクサーバー"PC-B"のOLE DB プロバイダ "SQLNCLI"から、メッセージ"パートナー トランザクション マネージャにより、リモート トランザクションまたはネットワーク トランザクションのサポートが無効にされました。"が返されました。 エラーを修正して再実行するか、またはESCを押して変更をキャンセルしてください。 PC-BではMSDTCは起動していますが、上記の原因が判らない為 困っております。 宜しくお願い致します。 |
|
投稿日時: 2008-09-18 11:56
3でクエリを発行する際に、BEGIN DISTRIBUTED TRANSACTIONしてからUPDATEしてみてください。
これでエラーが出ずにUPDATEできちゃったら、ちょっと分かりません。 4と同様のエラーが出るようでしたら、メッセージ内容からすると、MSDTCのネットワークDTCアクセスが無効になっているような気がします。 双方のPCでMSDTCのセキュリティ構成を確認してみてください。 ネットワークDTCアクセス ON 受信を許可する ON 送信を許可する ON 認証を必要としない ON(暫定) |
1