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 は使用できません。」
が表示されます。
コーディングではなくてサーバーの設定なのでしょうか?
以上ですが、ご教示願います。
ツイート | ![]() |