2003SERVERのMSDTCについて


へなちょこ  2005-07-08 22:26:19  No: 90903

OS:2003serverと2000server
SQLSERVER:2000
VB:VB6SP5

2003serverと2000serverの使っています。
それで、VBのコードですが

Dim 2003Con  As rdoConnection  '2003のコネクション
Dim 2000Con  As rdoConnection  '2000のコネクション
Dim sSql     As String         'SQL文字列生成

2000Con.BeginTrans

sSql = ""
sSql = sSql & "Select * "
sSql = sSql & "FROM Table1 2000Tbl "
sSql = sSql & "INNER JOIN 2003SERVER.TestDb.TestUser.Table2 2003Tbl "
sSql = sSql & "ON 2000Tbl.A = 2003Tbl.B "

Set rsMst = 2000Con.OpenResultset _
         (sSql, rdOpenForwardOnly, rdConcurReadOnly)

上記のように、2000でトランザクション発行している時は、
リンクテーブルを書くと固まってしまって
SQLのサービスを再起動をしないと動きません。

リンクテーブルを書けないのだったらどのように
制御すればよろしいいのでしょうか?

エラーメッセージとしては
「OLE DB プロバイダ  'SQLOLEDB' は分散トランザクションを開始できなかったので、
要求した操作は実行されませんでした。」

「サーバー '2003SERVER' の MSDTC は使用できません。」
が表示されます。
コーディングではなくてサーバーの設定なのでしょうか?

以上ですが、ご教示願います。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加