AutoCommit

このプロパティにより、各SQL文を暗黙的にコミットするか、明示的なコミットが発生するまでコミットしないかを指定します。

宣言

// C#
public bool AutoCommit {get; set;}

プロパティ値

ブール

例外

System.ObjectDisposedException - OracleConnectionオブジェクトがすでに破棄されている場合は、このプロパティにアクセスできません。

備考

デフォルトでは、このプロパティはtrueに設定されているため、各SQL文が暗黙的にコミットされます。

このプロパティは、接続をオープンする前または後に設定できます。

AutoCommitプロパティをfalseからtrueに切り替えると、現行トランザクションがコミットされます。

明示的なトランザクションが作成されると、このプロパティはfalseに設定されます。明示的なトランザクションがコミットまたはロールバックされると、このプロパティの値は、当初に設定されていたAutoCommit値に戻ります。

ローカル・トランザクションがすでに暗黙的に開始されている場合は、BeginTransaction()を呼び出すと、暗黙的に開始されたそのトランザクションが継承されます。

トランザクションは、BeginTransaction()を使用して明示的に作成されている場合は、OracleConnectionメソッドまたはOracleTransactionメソッドのどちらかを使用して操作できます。ただし、どちらかのオブジェクトでCommit()またはRollback()が呼び出されてそのトランザクションが終了すると、それ以降はOracleTransactionを使用できなくなります。

暗黙的トランザクションの実行中にOracleConnectionオブジェクトがクローズされた場合は、そのトランザクションがロールバックされます。AutoCommitプロパティを設定した後は、AutoCommit値が変更されるまで、その特定のOracleConnectionオブジェクトでの後続のすべてのOpen()コールにその設定が適用されます。