• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB + oracle oo4o でのトランザクションについて)

VB + Oracle Oo4o でのトランザクションについて

このQ&Aのポイント
  • VB + Oracle Oo4o を使用してトランザクションを実行する方法について調査しています。DML文単位ではうまくいっているが、複数のDML文をまとめてコミットやロールバックしたいと考えています。
  • Oracle Oo4o を使用してVBとOracleを接続しています。トランザクションの開始や終了、コミットやロールバックの方法を調べていますが、うまくいかない状況です。
  • VB + Oracle Oo4o でのトランザクションに関する問題が発生しています。DML文単位では正常に動作していますが、複数のDML文をまとめて処理する方法がわかりません。フォームのオープンとクローズのタイミングでそれぞれトランザクションを開始と終了したいのですが、うまくいかない状況です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

>>VB の rdo によるアクセスでは、専用スタート、コミット、ロールバック命令があります。 >rdoではなくoo4oですので、リンクの方法は該当しないようです。 参考URLの文章が言葉が足りていないようなので、参考URLの補足です^^;;; この文意は「rdo限定の説明」ではなく、「rdoでも」という意味ですよー >Oracle は、drop table などの DDL 命令では、自動コミットされます。 どのようにトランザクションをかけようとも、オラクルではDDL命令~(云々) って捕らえてくださいねー

その他の回答 (3)

回答No.3

>コミットまたはロールバックする間に、CREATE VIEW文がありEXECUTE SQLが実行されていました。 それをコメントアウトしたらどうなりますか? http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_k03.htm [引用] VB の rdo によるアクセスでは、専用スタート、コミット、ロールバック命令があります。 Oracle は、drop table などの DDL 命令では、自動コミットされます。

shin9387
質問者

補足

コメントアウトしたら、うまくいきました。 やはりDDLで確定しているようです。 rdoではなくoo4oですので、リンクの方法は該当しないようです。

回答No.2

文章訂正^^;; >SQL文を発行する度にコミットされているは当然なのですが、、、、 SQL文を発行する度に発行していたら、コミットされているは当然なのですが、、、、

shin9387
質問者

補足

確認しましたら、 INSERTやUPDATEでEXECUTE SQLした後、 コミットまたはロールバックする間に、 CREATE VIEW文があり EXECUTE SQLが実行されていました。 DDLでまとめて確定されてるということでしょうか。

回答No.1

>OraSession.BeginTrans >OraSession.CommitTrans >OraSession.Rollback >を使ってやっています。 OraSession.CommitTrans は、どこで使っていますか? SQL文を発行する度にコミットされているは当然なのですが、、、、 Rollbackを実行するまえにコミットしてませんよね?