Rollback()
このメソッドは、ローカル・トランザクションをロールバックします。
宣言
// C# public void Rollback();
例外
InvalidOperationException
– 接続がクローズされている場合、または接続がSystem.Transactions
(ローカルと分散の両方)に登録されている場合。
System.ObjectDisposedException
- OracleConnection
オブジェクトがすでに破棄されている場合は、このプロパティにアクセスできません。
備考
このメソッドでは、OracleConnection
オブジェクトを使用してローカル・トランザクションまたはセッションレス・トランザクションをロールバックできます。ロールバックするとそのトランザクションは終了します。ローカル・トランザクションの場合、動作はOracleTransaction Rollback
メソッドと同じです。ただし、"SELECT ... FOR UPDATE
"を使用する暗黙的なトランザクションや、自動コミットが無効になっている状態でINSERT
/UPDATE
/DELETE
文を実行する暗黙的なトランザクションなど、使用できるOracleTransaction
オブジェクトがなくてもこのメソッドを呼び出す必要がある場合があります。
このメソッドでは、接続が明示的ローカル・トランザクション内や暗黙的ローカル・トランザクション内にあるかトランザクションに関連付けられていない場合に例外は発生しません。このメソッドは、System.Transactions
(ローカルまたは分散)に登録されている接続では実行できません。
明示的なトランザクションが開始されると、AutoCommit
プロパティ値に関係なく自動コミットが無効になります。Rollback
メソッドが呼び出された後、AutoCommit
は、以前に有効化されていた場合はtrueに戻ります。ロールバック時には、トランザクション分離レベルも、OracleConnection
オブジェクトでの以前の値にリセットされます。