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()コールにその設定が適用されます。