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オブジェクトでの以前の値にリセットされます。