[OSのVER]:(クライアント)NT4.0/WinXP (サーバー)Win2000
[SQLServerのVER]:SQLServer2000
お世話になっております。
以下のような現象が出て、原因がわからず困ってます。
SQLServerにoracleのリンクテーブルを作成していまして
vb6.0でopenquery構文を使用してデータの削除を行おうとしています。
g_adoConnection.BeginTrans 'トランザクション開始
strSql = "delete from openquery(ORA,'select item_cd,item_nm from m_hin')" 'データを削除"
g_adoConnection.Execute strSql
上記構文のExecuteした時点で OLE DB エラー トレース [OLE/DB Provider 'MSDAORA' ITransactionJoin::JoinTransaction returned 0x8004d01b]
とエラーが出てしまいます。
BeginTrans を使用しなければ上手くいくのですが、
エラートラップしてrollback処理をしたい為どうしても使用したいです。
どなたかお分かりになる方いらっしゃったらご教授お願い致します。
[OSのVER]:(クライアント)NT4.0/WinXP (サーバー)Win2000
[SQLServerのVER]:SQLServer2000
お世話になっております。
sahaです。
http://support.microsoft.com/default.aspx?scid=kb;ja;280106
リンクを参考にレジストリを変更して環境は整えたのですが、
g_adoConnection.BeginTrans 'トランザクション開始
strSql = "delete from openquery(ORA,'select item_cd,item_nm from m_hin')" 'データを削除"
g_adoConnection.Execute strSql
Executeした時点で 今度は[OLE/DB provider returned message: このセッションでは、これ以上のトランザクションを開始できません。]
とエラーが出てしまいます。
色々調べてみたのですが、ネストもしていないのに原因が良く分かりません。
もしご存知の方いらっしゃいましたら申し訳ありませんが
宜しくお願い致します。
ツイート | ![]() |