Symfoware Server アプリケーション開発ガイド(JDBCドライバ編) - FUJITSU - |
目次 索引 |
第2章 アプリケーションの設計 | > 2.3 トランザクション |
トランザクションの独立性水準は、setTransactionIsolationメソッドで変更することができます。データベースとのコネクションを接続した直後は、独立性水準はSERIALIZABLEとなっています。ただし、行単位の排他を使用している場合、トランザクションの独立性水準にSERIALIZABLEと指定しても、REPEATABLE READとして扱います。
トランザクションの独立性水準は、トランザクションの継続中に変更することはできません。必ずトランザクションが終了している状態で変更してください。
例
トランザクションの独立性水準をREAD UNCOMMITTEDに変更する例を以下に示します。
Connection cnct = DataSource.getConnection(); cnct.setAutoCommit(false); cnct.setTransactionIsolation(java.sql.Connection.TRANSACTION_READ_UNCOMMITTED); : cnct.commit();
default_isolationオプションを指定することで、データベースコネクト時に、トランザクションの独立性水準の初期値を変更することができます。
default_isolationオプションは、運用時のチューニングパラメタとして使用してください。
default_ isolationオプションの詳細については、“オプションの設定”または“getConnectionメソッドのオプション”を参照してください。
default_ isolationオプションは、ローカルアクセスまたはリモートアクセス(RDB2_TCP連携)時に指定可能です。
アプリケーション内でsetTransactionIsolationメソッドを使用して独立性水準が変更された場合、setTransactionIsolation メソッドで指定された値が有効になります。
Connection.closeメソッドを実行後、getConnectionメソッドで再度接続した場合も、独立性水準の値はdefault_ isolationオプションで指定された値で動作します。
JDBCドライバを利用したアプリケーションから、占有モードを設定することができます。占有モード指定とは、SQL文単位に読み込んだデータベース資源に対して、占有モードを設定することができる機能です。
占有モード指定の詳細については、“SQLリファレンス”を参照してください。
目次 索引 |