- PR -

SQL Server2005から SQL Server2000のテーブルを更新したい

1
投稿者投稿内容
kaz
会議室デビュー日: 2008/09/10
投稿数: 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は起動していますが、上記の原因が判らない為
困っております。
宜しくお願い致します。
かめたろ
ぬし
会議室デビュー日: 2003/03/20
投稿数: 255
投稿日時: 2008-09-18 11:56
3でクエリを発行する際に、BEGIN DISTRIBUTED TRANSACTIONしてからUPDATEしてみてください。
これでエラーが出ずにUPDATEできちゃったら、ちょっと分かりません。

4と同様のエラーが出るようでしたら、メッセージ内容からすると、MSDTCのネットワークDTCアクセスが無効になっているような気がします。

双方のPCでMSDTCのセキュリティ構成を確認してみてください。
ネットワークDTCアクセス ON
受信を許可する ON
送信を許可する ON
認証を必要としない ON(暫定)
1

スキルアップ/キャリアアップ(JOB@IT)