IsolationLevel
このプロパティにより、ローカル・トランザクションの分離レベルを指定します。
宣言
// C# public IsolationLevel IsolationLevel {get; set;}
プロパティ値
IsolationLevel
例外
InvalidOperationException
- 接続に既存のトランザクションがある場合や、接続がすでにローカル/分散トランザクションに参加している場合は、このプロパティを設定できません。
InvalidArgumentException
- このプロパティをIsolationLevel.ReadCommitted
またはIsolationLevel.Serializable
以外のIsolationLevels
に設定することはできません。
System.ObjectDisposedException
- OracleConnection
オブジェクトがすでに破棄されている場合は、このプロパティにアクセスできません。
備考
デフォルトでは、このプロパティはIsolationLevel.ReadCommitted
に設定されます。IsolationLevel.Serializable
に設定することもできます。
アプリケーションで、接続がオープンされる前または後にこのプロパティ値を設定できます。アクティブなトランザクションの間にこのプロパティを設定すると、例外がスローされます。
すべての暗黙的トランザクションは、OracleConnection
オブジェクトでその分離レベルが指定されています。
明示的なトランザクションの場合、BeginTransaction()
メソッドでは、OracleConnection
オブジェクトで指定されたIsolationLevel
が使用されます。オーバーロードされたBeginTransaction(Isolation Level)
メソッドを使用すると、そのパラメータで、OracleConnection
オブジェクトでのIsolationLevel
設定がオーバーライドされます。トランザクションがコミットまたはロールバックされると、接続の分離レベルが、OracleConnection
のIsolationLevel
で設定されている値に戻ります。
TransactionScope
を使用して作成された分散トランザクションには、このプロパティで設定された分離レベルは適用されません。
IsolationLevel
プロパティを設定した後は、IsolationLevel
値が変更されるまで、その特定のOracleConnection
オブジェクトでの後続のすべてのOpen()
コールにその設定が適用されます。