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