8.3.41 setTransactionIsolation(int level)
(1) 機能
このConnectionオブジェクトのトランザクション隔離性水準を設定します。
(2) 形式
public synchronized void setTransactionIsolation(int level) throws SQLException
(3) 引数
- int level:
-
適用するトランザクション隔離性水準を指定します。次に示すどちらかの値を指定します。
-
Connection.TRANSACTION_READ_COMMITTED
トランザクション隔離性水準にREAD COMMITTEDを適用する場合に指定します。
-
Connection.TRANSACTION_REPEATABLE_READ
トランザクション隔離性水準にREPEATABLE READを適用する場合に指定します。
-
(4) 戻り値
なし。
(5) 発生する例外
次に示す場合にSQLExceptionが投入されます。
-
Connectionオブジェクトがクローズされている場合
-
トランザクションがすでに開始している場合
-
このConnectionオブジェクトで,保持機能にHOLD_CURSORS_OVER_COMMITを指定して作成したResultSetオブジェクトがクローズされていない場合
-
トランザクション隔離性水準に次の値以外を指定した場合
-
Connection.TRANSACTION_READ_COMMITTED
-
Connection.TRANSACTION_REPEATABLE_READ
-
(6) 留意事項
-
トランザクション隔離性水準は,次に示す優先順位に従って決定されます。番号が小さいほど優先順位が高くなります。1と2では1の指定が優先されます。
-
setTransactionIsolationメソッドで指定したトランザクション隔離性水準
-
システムプロパティのadb_clt_trn_iso_lvで指定したトランザクション隔離性水準
-
DriverManagerクラスのgetConnectionメソッドの引数infoに指定したadb_clt_trn_iso_lvプロパティの値
-
DriverManagerクラスのgetConnectionメソッドの引数urlに指定したadb_clt_trn_iso_lvの値
-
サーバ定義のadb_sys_trn_iso_lvオペランドで指定したトランザクション隔離性水準
-
-
setTransactionIsolationメソッドで指定したトランザクション隔離性水準は,Connectionオブジェクトをいったんプールしたあとに再度使用した場合,前回のトランザクション隔離性水準を引き継ぎません。setTransactionIsolationメソッドを実行していない状態と同じになります。