DriverManagerクラスのgetConnectionメソッドで指定可能なオプションについて以下に示します。
オプション名 | 範囲 | 省略値 | 意味 |
---|---|---|---|
- | - | アプリケーション内で使用する、SQL文に対するデフォルトスキーマ名を指定します。デフォルトスキーマ名に、“;”および“)”は指定できません。 | |
- | - | データベースに接続するためのユーザIDを指定します。ユーザIDに、“; ”および“/”は指定できません。 ただし、以下の場合、ユーザIDの指定は不要です。
| |
- | - | 上記ユーザIDに対するパスワードを指定します。パスワードに、“;”(セミコロン)は指定できません。また、OSのログイン名で接続する場合には、パスワードの先頭または末尾に“ ”(空白)を指定できません。 ただし、以下の場合、パスワードの指定は不要です。
| |
- | - | JDBCドライバがコード変換時に使用する、Javaのエンコーディングを指定します。 | |
- | - | Symfoware Serverのクライアント用の動作環境ファイルに相当する指定をすることができます。詳細は、“5.2.3.4 ctuneparamオプションについて”を参照してください。 | |
0~32000 | 0 | ステートメントキャッシュする文の数を指定します。0を指定した場合、ステートメントキャッシュ機能は無効になります。 | |
YES | NO | ステートメントキャッシュ機能利用時に、PreparedStatementおよびCallableStatementのクローズをJDBCドライバが自動的に行うかどうかを指定します。 | |
default_isolation | READ_UNCOMMITTED | SERIALIZABLE(注) | 独立性水準の初期値を指定します。 READ_UNCOMMITTED:独立性水準の初期値をREAD UNCOMMITTEDとします。 |
default_readonly | false | false | トランザクションアクセスモードの初期値を指定します。 |
sqlrtenv | - |
| クライアント用の動作環境ファイルを指定することができます。詳細は、“5.2.3.5 クライアント用の動作環境ファイルの指定について”を参照してください。 |
finalizeswitch | ON | OFF | Java VMのガーベジコレクションが動作し、オブジェクトが破棄された契機で、JDBCドライバ内部でcloseメソッドを実行し、データベース上の資源を回収するかどうかを選択します。 |
oddstringtoblob | ERRORMESSAGE | ERRORMESSAGE | setStringでBLOB列に対して奇数バイトのデータが指定されたとき、データの異常を通知するためにエラー復帰するかどうかを選択します。 |
注) データベース簡単運用での省略値は、READ COMMITTEDになります。
注意事項
autoclosestatementオプションは、statementcacheオプションに1~32000が指定された場合に指定可能です。
ユーザIDとパスワードは、以下の2個所で指定可能です。
URLに指定するオプション
DriverManagerクラスのgetConnectionメソッドの引数
2箇所で指定された場合、2)の値が有効となります。
アプリケーション実行環境のロケールがCで、ASCIIコード範囲外の文字データを利用する場合、javaconverterオプションで、対象データのエンコーディングを指定してください。
default_isolationにREPEATABLE_READを指定しても、システム用の動作環境ファイルのR_LOCKまたはctuneparamオプションのCLI_R_LOCKがNOの場合、独立性水準はSERIALIZABLEとなります。
default_isolationを省略またはSERIALIZABLEを指定しても、システム用の動作環境ファイルのR_LOCKまたはctuneparamオプションのCLI_R_LOCKがYESの場合、独立性水準はREPEATABLE READとなります。
サーバ用の動作環境ファイルのDSO_LOCKまたはctuneparamオプションのCLI_DSO_LOCKを指定して、default_isolationまたはdefault_readonlyを指定した場合は、サーバ接続時にエラーが発生します。
finalizeswitchにONが指定された場合、Java VMのガーベジコレクションの延長で、JDBCドライバの資源を回収します。ただし、資源の回収は、SQL文が実行されていない契機に実行します。長時間SQL文を実行するようなアプリケーションの場合、Java VMによる回収処理が待たされてしまい、メモリ不足の状態が発生する場合があります。また、資源回収中は、SQL文の実行が待ち状態になります。上記の待ち状態の影響で、アプリケーションのレスポンス性能が遅延する場合があります。