Db2 および Db2 for z/OS サーバーに共通の IBM Data Server Driver for JDBC and SQLJ プロパティー

IBM Data Server Driver for JDBC and SQLJ プロパティーの一部は、 Db2 および Db2 for z/OS データ・サーバーにのみ適用されます。

特に注記されていない限り、すべてのプロパティーは com.ibm.db2.jcc.DB2BaseDataSource にあります。

それらのプロパティーは以下のとおりです。

clientAccountingInformation
接続の現在のクライアントに関するアカウンティング情報を指定します。 この情報は、クライアントのアカウンティングを目的としています。 この値は、接続中に変更することもできます。 このプロパティーのデータ・タイプは String です。 最大長は 255 バイトです。 Java™ 空ストリング ("") この値には有効ですが、Java null 値は無効です。
clientApplicationInformation
エンド・ユーザーのアプリケーションの、アプリケーションまたはトランザクションの名前を指定します。 このプロパティーを使用して、クライアント・エンド・ユーザーの ID をアカウンティングおよびモニターのために提供できます。 この値は、接続中に変更することもできます。 このプロパティーのデータ・タイプは String です。 最大長は 255 バイトです。 Java 空ストリング ("") この値には有効ですが、Java null 値は無効です。
concurrentAccessResolution
データ・ソースが現在コミットされているデータへのアクセスをサポートしており、アプリケーション分離レベルがカーソル固定 (CS) または読み取り固定 (RS) である場合に、 IBM Data Server Driver for JDBC and SQLJ が、書き込みトランザクションによって非互換でロックされている行のコミット済みの整合したイメージに読み取りトランザクションがアクセスできるように要求するかどうかを指定します。 このオプションは Db2 CONCURRENTACCESSRESOLUTION バインド・オプションと同じ効果を及ぼします。 可能な値は以下のとおりです。
DB2BaseDataSource.-
CONCURRENTACCESS_USE_CURRENTLY_COMMITTED (1)
IBM Data Server Driver for JDBC and SQLJ は、以下のことを要求します。
  • データの更新時または削除時に、読み取りトランザクションは currently committed データにアクセスする。
  • 読み取りトランザクションは、挿入されようとしている行をスキップする。
DB2BaseDataSource.CONCURRENTACCESS_WAIT_FOR_OUTCOME (2)
IBM Data Server Driver for JDBC and SQLJ は、以下のことを要求します。
  • 更新または削除されようとしているデータが検出された場合、読み取りトランザクションはコミットまたはロールバック操作を待機する。
  • 読み取りトランザクションは、挿入されようとしている行をスキップしない。
DB2BaseDataSource.CONCURRENTACCESS_NOT_SET (0)
ロック競合が発生した場合の読み取りトランザクションに関するデータ・サーバーのデフォルト動作を使用可能にします。 これはデフォルト値です。
currentDegree
動的に準備される照会の実行の並列処理の度合いを指定します。 このプロパティーのタイプは以下のとおりです。 currentDegree 値は、データ・ソース上に CURRENT DEGREE 特殊レジスターを設定するために使用されます。 currentDegree が設定されていない場合、データ・ソースに渡される値はありません。
currentExplainMode
CURRENT EXPLAIN MODE 特殊レジスターの値を指定します。 CURRENT EXPLAIN MODE 特殊レジスターを使用して、EXPLAIN 機能を有効/無効にすることができます。 このプロパティーのデータ・タイプは String です。 最大長は 254 バイトです。 このプロパティーは、CURRENT EXPLAIN MODE 特殊レジスターをサポートするデータ・ソースへの接続にのみ適用されます。
currentFunctionPath
JDBC プログラム内にある SQL ステートメント内の非修飾の表データ・タイプ名および関数名を解決するために使用される、 SQL パスを指定します。 このプロパティーのデータ・タイプは String です。 Db2 ( Linux®、UNIX、および Windows システムの場合) サーバーの場合、最大長は 254 バイトです。 Db2 for z/OS サーバーの場合、最大長は 2048 バイトです。 値は、スキーマ名のコンマで区切られたリストになります。 それらの名前は、通常 ID または区切り ID にできます。
currentMaintainedTableTypesForOptimization
動的 SQL 照会の処理をデータ・ソースが最適化するときに検討の対象にできるオブジェクトのタイプを特定する値を指定します。 このレジスターには、表タイプを表すキーワードが含まれます。 このプロパティーのデータ・タイプは String です。

currentMaintainedTableTypesForOptimization に指定できる値は次のとおりです。

ALL
すべてのマテリアライズ照会表が検討の対象になることを示します。
NONE
どのマテリアライズ照会表も検討の対象にならないことを示します。
SYSTEM
REFRESH DEFERRED されるシステム保守のマテリアライズ照会表のみが検討の対象となることを示します。
USER
REFRESH DEFERRED されるユーザー保守のマテリアライズ照会表のみが検討の対象となることを示します。
currentPackagePath
サーバー上のコレクションのコンマで区切られたリストを指定します。 データ・サーバーは、 JDBC および SQLJ パッケージの これらのコレクションを検索します。

currentPackagePath および currentPackageSet プロパティーの優先順位規則は、CURRENT PACKAGESET および CURRENT PACKAGE PATH 特殊レジスターの優先順位規則に従います。

currentPackageSet
JDBC および SQLJ パッケージの検索に使用するコレクション ID を指定します。 このプロパティーのデータ・タイプは String です。 デフォルトは NULLID です。 currentPackageSet が設定されている場合、その値は jdbcCollection の値をオーバーライドします。

DB2Binder ユーティリティーを複数回実行することにより、 IBM Data Server Driver for JDBC and SQLJ の複数のインスタンスを 1 つのデータ・サーバーにインストールすることができます。 DB2binder ユーティリティーに含まれる -collection オプションを使用すると、各 IBM Data Server Driver for JDBC and SQLJ インスタンスのコレクション ID をインストーラーで指定できます。 接続用に IBM Data Server Driver for JDBC and SQLJ のインスタンスを選択するには、 IBM Data Server Driver for JDBC and SQLJ インスタンスのいずれかのコレクション ID と一致する currentPackageSet 値を指定します。

currentPackagePath および currentPackageSet プロパティーの優先順位規則は、CURRENT PACKAGESET および CURRENT PACKAGE PATH 特殊レジスターの優先順位規則に従います。

currentRefreshAge
タイム・スタンプ期間の値を指定します。これは、マテリアライズ照会表を使用して照会の処理を最適化できるようにするために、REFRESH TABLE ステートメントをシステム保守の REFRESH DEFERRED マテリアライズ照会表で処理してからの最大期間です。 このプロパティーは、動的ステートメントのキャッシュの突き合わせに影響を与えます。 このプロパティーのデータ・タイプは long です。
currentSchema
動的に準備される SQL ステートメントで非修飾データベース・オブジェクトを修飾するために使用されるデフォルトのスキーマ名を指定します。 このプロパティーの値は、データ・サーバー上の CURRENT SCHEMA 特殊レジスターの値を設定します。 スキーマ名は大文字小文字の区別があり、大文字で指定する必要があります。
cursorSensitivity
JDBC ResultSetjava.sql.ResultSet.TYPE_SCROLL_SENSITIVE 値を、基礎となるデータベース・カーソルの SENSITIVE DYNAMIC 属性、SENSITIVE STATIC 属性、 または ASENSITIVE 属性 にマップするかどうかを指定します。 このプロパティーのデータ・タイプは intです。 可能な値は、 TYPE_SCROLL_SENSITIVE_STATIC (0)、 TYPE_SCROLL_SENSITIVE_DYNAMIC (1)、 または TYPE_SCROLL_ASENSITIVE (2)です。 デフォルトは TYPE_SCROLL_SENSITIVE_STATIC です。

デー・ソースがセンシティブ動的両方向スクロール・カーソルをサポートしていない場合に、TYPE_SCROLL_SENSITIVE_DYNAMIC が要求されると、JDBC ドライバーは警告を累積し、感度を SENSITIVE STATIC にマップします。 センシティブ静的カーソルをサポートしない Db2 for IBM i データ・サーバーの場合、 java.sql.ResultSet.TYPE_SCROLL_SENSITIVE は常に SENSITIVE DYNAMIC にマップされます。

dateFormat
下記のことを指定します。
  • DATE 列に対する PreparedStatement.setString メソッドの引数の形式を指定する必要があります。
  • DATE 列に対する ResultSet.getString または CallableStatement.getString メソッドの結果が返される形式。
dateFormat のデータ・タイプは int です。
dateFormat に指定できる値は次のとおりです。
定数 整数値 形式
com.ibm.db2.jcc.DB2BaseDataSource.ISO 1 yyyy-mm-dd
com.ibm.db2.jcc.DB2BaseDataSource.USA 2 mm/dd/yyyy
com.ibm.db2.jcc.DB2BaseDataSource.EUR 3 dd.mm.yyyy
com.ibm.db2.jcc.DB2BaseDataSource.JIS 4 yyyy-mm-dd
デフォルトは com.ibm.db2.jcc.DB2BaseDataSource.ISO です。
decimalRoundingMode
Db2 for z/OS または Db2 ( Linux、UNIX、および Windows システムの場合) データ・サーバー上の 10 進浮動小数点変数または DECFLOAT 列への割り当ての丸めモードを指定します。

可能な値は以下のとおりです。

DB2BaseDataSource.ROUND_DOWN (1)
0 の方向に丸めます (切り捨て)。 破棄された数字は無視されます。
DB2BaseDataSource.ROUND_CEILING (2)
正の無限大方向に丸めます。 破棄される数字がすべてゼロであるか、または符号が負の場合、破棄される数字の除去を除いて結果は未変更のままになります。 それ以外の場合、結果の係数は 1 だけ増やされます。
DB2BaseDataSource.ROUND_HALF_EVEN (3)
値を最も近い値に丸めます。複数の値が等距離にある場合は、最後の数字が偶数になるように値を丸めます。 破棄される数字が、左側の次の桁内の 1 の半分 (0.5) より大きい場合、結果の係数は 1 だけ増やされます。 半分より小さい場合、結果の係数は調整されません (つまり、廃棄された数字は無視されます)。 それ以外の場合、結果の係数の右端の数字が偶数であれば、その係数は変更されませんが、右端の数字が奇数であれば、その桁が偶数になるように 1 だけ増大 (切り上げ) します。
DB2BaseDataSource.ROUND_HALF_UP (4)
値を最も近い値に丸めます。複数の値が等距離にある場合は、0 の反対方向に値を丸めます。 破棄される数字が、左側の次の桁内の 1 の半分 (0.5) 以上の場合、結果の係数は 1 だけ増やされます。 それ以外の場合、破棄された数字は無視されます。
DB2BaseDataSource.ROUND_FLOOR (6)
負の無限大方向に丸めます。 破棄される数字がすべてゼロであるか、または符号が正の場合、破棄される数字の除去を除いて、結果は未変更のままになります。 それ以外の場合、符号は負で、結果の係数は 1 だけ増やされます。
DB2BaseDataSource.ROUND_UNSET (-2147483647)
丸めモードは明示的に設定されませんでした。 IBM Data Server Driver for JDBC and SQLJ は、データ・サーバー上で丸めモードを設定するために decimalRoundingモードを使用しません。 丸めモードは ROUND_HALF_EVEN です。

decimalRoundingモード値を明示的に設定した場合、その値は、 Db2 for z/OS データ・サーバー上の CURRENT DECFLOAT ROUNDING MODE 特殊レジスター値を更新します。

decimalRoundingモード値を明示的に設定した場合、その値は Db2 ( Linux、UNIX、および Windows システムの場合) データ・サーバー上の CURRENT DECFLOAT ROUNDING MODE 特殊レジスター値を更新しません。 decimalRoundingMode に設定した値が CURRENT DECFLOAT ROUNDING MODE 特殊レジスターの値と異なる場合は、Exception がスローされます。 データ・サーバーの値を変更するためには、その値を decflt_rounding データベース構成パラメーターで設定する必要があります。

decimalRoundingMode は、10 進値の代入には影響を与えません。 IBM Data Server Driver for JDBC and SQLJ は、常に 10 進値を切り捨てます。

enableExtendedDescribe
IBM Data Server Driver for JDBC and SQLJ がステートメントの準備時にデータ・サーバーから拡張記述情報を要求するかどうかを指定します。

拡張説明情報は、以下の情報を提供します。

  • カーソルまたは結果セットに関する追加の説明情報
  • 列に関する次の情報:
    • 更新可能かどうか
    • 主キーか、それとも優先候補キー・メンバーか
    • 式か、それとも表列か
    • 生成列か、それとも表列か
  • 完全修飾のビュー名または表名
  • 完全修飾列名

可能な値は以下のとおりです。

DB2BaseDataSource.NOT_SET (0)
IBM Data Server Driver for JDBC and SQLJ は、拡張記述情報を要求します。 これがデフォルトです。
DB2BaseDataSource.YES (1)
IBM Data Server Driver for JDBC and SQLJ は、拡張記述情報を要求します。
DB2BaseDataSource.NO (2)
IBM Data Server Driver for JDBC and SQLJ は、拡張記述情報を要求しません。

enableExtendedDescribe を DB2BaseDataSource.NO に設定すると、結果としてパフォーマンスが改善されることがあります。追加情報を提供するためにドライバーで実行しなければならない余分な処理をしなくてすむからです。 ただし、このオプションを指定すると、メソッドによっては例外がスローされるか、予期しない結果が返される場合があります。 以下の表は、enableExtendedDescribe を DB2BaseDataSource.NO に設定したときのメソッドの動作をリストしています。

方法 拡張説明をオフにした場合の結果
Connection.findAutoGeneratedKeysColumn 空ストリング ("") の配列を返します
DB2ResultSetMetaData.getDBTemporalColumnType -1 を返します
PreparedStatement.getGeneratedKeys によって返される ResultSet オブジェクトの ResultSet.getMetaData NULL を返します。
ResultSet.insertRow, ResultSet.deleteRow, ResultSet.updateRow SQLException (エラー・コード -4474)、SQLSTATE 42808 (列を更新できません)
ResultSet.updateXXX メソッド SQLException (エラー・コード -4474)、SQLSTATE 42808 (列を更新できません)
ResultSetMetaData.getTableName、 ResultSetMetaData.getSchemaName、 ResultSetMetaData.getColumnName 空ストリング ("") を返します
ResultSetMetaData.isAutoIncrement false を返します
enableExtendedIndicators
IBM Data Server Driver for JDBC and SQLJで拡張標識のサポートを使用可能にするかどうかを指定します。 可能な値は以下のとおりです。
DB2BaseDataSource.YES (1)
拡張標識のサポートは、 IBM Data Server Driver for JDBC and SQLJで使用可能になっています。
DB2BaseDataSource.NO (2)
拡張標識のサポートは、 IBM Data Server Driver for JDBC and SQLJでは使用不可になっています。
DB2BaseDataSource.NOT_SET (0)
拡張標識のサポートは、 IBM Data Server Driver for JDBC and SQLJで使用可能になっています。 これはデフォルト値です。
enableRowsetSupport
データ・サーバーが複数行 FETCH をサポートしている場合に、 IBM Data Server Driver for JDBC and SQLJ が、前方スクロール・カーソルまたは両方向スクロール・カーソルに複数行 FETCH を使用するかどうかを指定します。 このプロパティーのデータ・タイプは int です。

Db2 for z/OSへの接続の場合、 enableRowsetサポートが設定されていると、その値が useRowsetカーソル・プロパティー値をオーバーライドします。

可能な値は以下のとおりです。

DB2BaseDataSource.YES (1)
以下を指定します。
  • Db2 for z/OSへの IBM Data Server Driver for JDBC and SQLJ タイプ 2 接続 では、データ・サーバーが複数行 FETCH をサポートしている場合、両方向スクロール・カーソルおよび前方スクロール・カーソルに複数行 FETCH が使用されます。
  • IBM Data Server Driver for JDBC and SQLJ タイプ 4 接続、または IBM Data Server Driver for JDBC and SQLJ タイプ 2 接続 から Db2 on Linux、UNIX、および Windows システムでは、データ・サーバーが複数行 FETCH をサポートしている場合、両方向スクロール・カーソルに複数行フェッチが使用されます。
DB2BaseDataSource.NO (2)
複数行フェッチが使用されないことを指定します。
DB2BaseDataSource.NOT_SET (0)
enableRowsetSupport プロパティーが設定されていない場合、以下を指定します。
  • Db2 for z/OSへの IBM Data Server Driver for JDBC and SQLJ タイプ 2 接続 の場合、複数行フェッチは使用されません。
  • Db2 for z/OSへの IBM Data Server Driver for JDBC and SQLJ タイプ 4 接続 では、 useRowsetカーソルが trueに設定されている場合、複数行フェッチが使用されます。
  • Db2 ( Linux、UNIX、および Windows システムの場合)への接続では、データ・サーバーが複数行 FETCH をサポートしている場合、両方向スクロール・カーソルに複数行フェッチが使用されます。

Db2 for z/OSへの IBM Data Server Driver for JDBC and SQLJ タイプ 2 接続 の場合、複数行フェッチは連続ストリーミングと互換性がありません。 そのため、FETCH 操作で連続ストリーミングが使用される場合、複数行 FETCH は使用されません。

enableTimeoutOnCursor
実装で Statement オブジェクトを使用する DatabaseMetaDataResultSet メソッドについて、それらの Statement オブジェクトのタイムアウトの動作を commandTimeout および queryTimeoutInterruptProcessingMode プロパティーの値で制御するかどうかを指定します。

実装で Statement オブジェクトを使用するメソッドには、以下のようなものがあります。

  • ResultSet.updateRow
  • ResultSet.insertRow
  • ResultSet.deleteRow
  • DatabaseMetaData.getProcedures
  • DatabaseMetaData.getTables
  • DatabaseMetaData.getColumns

このプロパティーのデータ・タイプは int です。 可能な値は次のとおりです。

com.ibm.db2.jcc.DB2BaseDataSource.YES (1) or com.ibm.db2.jcc.DB2BaseDataSource.NOT_SET (0)
DatabaseMetaData メソッドまたは ResultSet メソッドの実装で使用される Statement オブジェクトは、commandTimeout プロパティーおよび queryTimeoutInterruptProcessingMode プロパティーで制御されます。 この動作がデフォルトの動作です。
com.ibm.db2.jcc.DB2BaseDataSource.NO (2)
DatabaseMetaData メソッドまたは ResultSet メソッドの実装で使用される Statement オブジェクトは、commandTimeout プロパティーおよび queryTimeoutInterruptProcessingMode プロパティーで制御されません。
encryptionAlgorithm
IBM Data Server Driver for JDBC and SQLJ が 56 ビット DES (弱) 暗号化または 256 ビット AES (強) 暗号化を使用するかどうかを指定します。 このプロパティーのデータ・タイプは int です。 可能な値は以下のとおりです。
1
このドライバーは、56 ビット DES 暗号化を使用します。
2
データ・サーバーがサポートしている場合、ドライバーは 256 ビット AES 暗号化を使用します。 256 ビット AES 暗号化は、 IBM Data Server Driver for JDBC and SQLJ タイプ 4 接続 でのみ使用可能です。
AES 暗号化の場合、JCE 用の無制限ポリシー・ファイルが必要です。 IBM SDK for Java の場合、ファイルは以下のロケーションで入手可能です。
https://www.ibm.com/marketing/iwm/iwm/web/preLogin.do?source=jcesdk 
Oracle の SDK for Java では、AES 暗号化がサポートされている場合がありますが、DES 暗号化はサポートされていません。 AES 暗号化を Oracle の SDK for Java で使用する場合、JCE Unlimited Strength Jurisdiction Policy File がインストールされている必要があります。 このファイルは Oracle から入手可能です。 JCE Unlimited Strength Jurisdiction Policy File が見つからない場合は、java.security.InvalidKeyException がスローされます。

IBM Data Server Driver for JDBC and SQLJのバージョン 4.33 以降では、デフォルトの暗号化は 256 ビット AES 暗号化 (2) です。

IBM Data Server Driver for JDBC and SQLJのバージョン 4.33 より前のバージョンでは、デフォルトの暗号化アルゴリズムは 56 ビット DES 暗号化 (1) です。

encryptionAlgorithm は、securityMechanism または db2.jcc.securityMechanism の値が ENCRYPTED_PASSWORD_SECURITY (7) または ENCRYPTED_USER_AND_PASSWORD_SECURITY (9) である場合のみです。

fullyMaterializeInputStreams
ストリームが、クライアントからデータ・ソースに送信される前に、完全にマテリアライズ化されるかどうかを示します。 このプロパティーのデータ・タイプは boolean です。 デフォルトは false です。

fullyMaterializeInputStreams の値が trueの場合、JDBC ドライバーはストリームをサーバーに送信する前に完全にマテリアライズ化したことになります。

gssCredential
Kerberos セキュリティーを使用するデータ・ソースの場合に、 他のプリンシパルから渡される委任証明書を指定します。 このプロパティーのデータ・タイプは org.ietf.jgss.GSSCredential です。 委任された資格情報は、複数層環境で使用されます。例えば、クライアントが WebSphere® Application Serverに接続すると、それがデータ・ソースに接続されます。 GSSContext.getDelegCred メソッドを呼び出すことにより、このプロパティーの値をクライアントから取得します。 GSSContext は、 IBM Java Generic Security Service (GSS) の一部です。 API。 このプロパティーを設定する場合、 Mechanism および KerberosServerPrincipal プロパティーも設定しなければなりません。

このプロパティーは、 IBM Data Server Driver for JDBC and SQLJ タイプ 4 接続にのみ適用されます。

IBM Data Server Driver for JDBC and SQLJでの Kerberos セキュリティーの使用について詳しくは、「 IBM Data Server Driver for JDBC and SQLJ」の「 Kerberos セキュリティーの使用」を参照してください。

kerberosServerPrincipal
Kerberos セキュリティーを使用するデータ・ソースの場合、 Kerberos 鍵配布センター (KDC) への登録時にデータ・ソースに使用される名前を指定します。 このプロパティーのデータ・タイプは String です。

このプロパティーは、 IBM Data Server Driver for JDBC and SQLJ タイプ 4 接続にのみ適用されます。

pdqProperties
IBM Data Server Driver for JDBC and SQLJ と pureQuery®のクライアント最適化フィーチャーとの間の対話を制御するプロパティーを指定します。

このプロパティーのデータ・タイプは String です。

pdqProperties プロパティーは、pureQuery のクライアント最適化フィーチャーを使用している場合のみ設定してください。 pdqProperties の有効な値について詳しくは、Integrated Data Management のインフォメーション・センターを参照してください。

readOnly
接続を読み取り専用にするかどうかを指定します。 このプロパティーのデータ・タイプは boolean です。 デフォルトは false です。
resultSetHoldabilityForCatalogQueries
DatabaseMetaData メソッドの代わりに実行される照会用のカーソルをコミット操作後もオープンしたままにするかどうかを指定します。 このプロパティーのデータ・タイプは int です。
アプリケーションが DatabaseMetaData メソッドを実行すると、 IBM Data Server Driver for JDBC and SQLJ は、ターゲット・データ・ソースのカタログに対して照会を実行します。 デフォルトでは、そのようなカーソルの保持可能性はアプリケーション・カーソルの保持可能性と同じです。 カタログ照会に別の保持可能性を使用するには、resultSetHoldabilityForCatalogQueries プロパティーを使用します。 可能な値は以下のとおりです。
DB2BaseDataSource.HOLD_CURSORS_OVER_COMMIT (1)
resultSetHoldability の設定とは無関係に、コミット操作後にカタログ照会用のカーソルをオープンしたままにします。
DB2BaseDataSource.CLOSE_CURSORS_AT_COMMIT (2)
resultSetHoldability の設定とは無関係に、コミット操作後にカタログ照会用のカーソルをクローズします。
DB2BaseDataSource.NOT_SET (0)
カタログ照会に resultSetHoldability 設定を使用します。 これはデフォルト値です。
returnAlias
getTables などの表情報を戻す DatabaseMetaData メソッドについて、JDBC ドライバーが表の別名およびシノニムの行を戻すかどうかを指定します。 returnAlias のデータ・タイプは int です。 可能な値は以下のとおりです。
0
表情報を戻す DatabaseMetaData メソッドからの出力内に、表の別名またはシノニムの行を戻しません。
1
別名またはシノニムを持つ表の場合、表情報を戻す DatabaseMetaData メソッドからの出力内に、表の行とともに、それらの表の別名およびシノニムの行を戻します。 これがデフォルトです。
statementConcentrator
IBM Data Server Driver for JDBC and SQLJ がデータ・ソースのステートメント・コンセントレーター機能を使用するかどうかを指定します。 ステートメント・コンセントレーターは、(リテラル値を除いて) 動的ステートメント・キャッシュ内のステートメントと同じである場合にステートメントの準備を迂回する機能です。 ステートメント・コンセントレーター機能は、リテラルを含み、パラメーター・マーカーを含まない SQL ステートメントにのみ適用されます。 可能な値は以下のとおりです。
DB2BaseDataSource.STATEMENT_CONCENTRATOR_OFF (1)
IBM Data Server Driver for JDBC and SQLJ は、データ・ソースのステートメント・コンセントレーター機能を使用しません。
DB2BaseDataSource.STATEMENT_CONCENTRATOR_WITH_LITERALS (2)
IBM Data Server Driver for JDBC and SQLJ は、データ・ソースのステートメント・コンセントレーター機能を使用します。
DB2BaseDataSource.STATEMENT_CONCENTRATOR_NOT_SET (0)
ステートメント・コンセントレーター機能に関するデータ・サーバーのデフォルト動作を使用可能にします。 これはデフォルト値です。

ステートメント・コンセントレーター機能をサポートする Db2 ( Linux、UNIX、および Windows システムの場合) データ・ソースでは、データ・ソースで STMT_CONC 構成パラメーターが ON に設定されている場合にこの機能が使用されます。 それ以外の場合は、ステートメント・コンセントレーター機能は使用されません。

ステートメント・コンセントレーター機能をサポートする Db2 for z/OS データ・ソースでは、 statementConcentrator が設定されていない場合、この機能は使用されません。

streamBufferSize
LOB または XML データをチャンク化するための、JDBC ドライバー・バッファーのサイズをバイト数で指定します。 JDBC ドライバーは、連続ストリーミングを使用するかどうかに関係なく、streamBufferSize 値を使用します。 streamBufferSize のデータ・タイプは int です。 デフォルトは 1048576 です。

JDBC ドライバーが連続ストリーミングを使用する場合、LOB または XML データがマテリアライズ化されるのは、そのデータがバッファー内に収まり、このドライバーが fullyMaterializeLobData プロパティーを使用しない場合です。

Db2 for z/OS バージョン 9.1 以降では、LOB および XML オブジェクトの連続ストリーミングがサポートされます。 Db2 on Linux、UNIX、および Windows システム バージョン 9.5 以降、および IBM Informix® バージョン 11.50 以降では、LOB の連続ストリーミングがサポートされます。

supportsAsynchronousXARollback
IBM Data Server Driver for JDBC and SQLJ が非同期 XA ロールバック操作をサポートするかどうかを指定します。 このプロパティーのデータ・タイプは int です。 デフォルトは DB2BaseDataSource.NO (2) です。 BEA WebLogic Server アプリケーション・サーバーに対してアプリケーションを実行する場合、supportsAsynchronousXARollback を DB2BaseDataSource.YES (1) に設定します。
sysSchema
アプリケーションが DatabaseMetaData メソッドを呼び出す際に検索される、シャドー・カタログ表またはビューのスキーマを指定します。 sysSchema プロパティーは、以前は cliSchema という名称でした。
timeFormat
下記のことを指定します。
  • TIME 列に対する PreparedStatement.setString メソッドの引数を指定する必要のある形式。
  • TIME 列に対する ResultSet.getString または CallableStatement.getString メソッドの結果が戻される形式。
timeFormat のデータ・タイプは int です。
timeFormat に指定できる値は次のとおりです。
定数 整数値 形式
com.ibm.db2.jcc.DB2BaseDataSource.ISO 1 hh:mm:ss
com.ibm.db2.jcc.DB2BaseDataSource.USA 2 hh:mm am または hh:mm pm
com.ibm.db2.jcc.DB2BaseDataSource.EUR 3 hh.mm.ss
com.ibm.db2.jcc.DB2BaseDataSource.JIS 4 hh:mm:ss
デフォルトは com.ibm.db2.jcc.DB2BaseDataSource.ISO です。
timestampOutputType
タイム・スタンプ情報を戻すために標準の JDBC インターフェース ResultSet.getTimestampCallableStatement.getTimestampResultSet.getObject、または CallableStatement.getObject が呼び出されたときに、 IBM Data Server Driver for JDBC and SQLJjava.sql.Timestamp オブジェクトを戻すか、 com.ibm.db2.jcc.DBTimestamp を戻すかを指定します。

可能な値は以下のとおりです。

DB2BaseDataSource.JDBC_TIMESTAMP (1)
IBM Data Server Driver for JDBC and SQLJ は、 ResultSet.getTimestampCallableStatement.getTimestampResultSet.getObject、または CallableStatement.getObject 呼び出しから java.sql.Timestamp オブジェクトを戻します。
DB2BaseDataSource.JCC_DBTIMESTAMP (2)
IBM Data Server Driver for JDBC and SQLJ は、 ResultSet.getTimestampCallableStatement.getTimestampResultSet.getObject、または CallableStatement.getObject 呼び出しから com.ibm.db2.jcc.DBTimestamp オブジェクトを戻します。
DB2BaseDataSource.NOT_SET (0)
これがデフォルトの動作です。

この動作は、DB2BaseDataSource.JDBC_TIMESTAMP での動作と同じです。

useCachedCursor
PreparedStatement オブジェクトの基礎となるカーソルをキャッシュに入れて、PreparedStatement オブジェクトの後続の実行で再利用するかどうかを指定します。 useCachedCursor のデータ・タイプは boolean です。

useCachedCursor が true に設定されている場合、PreparedStatement オブジェクトのカーソルはキャッシュに入れられ、これによりパフォーマンスは向上します。

これらの PreparedStatement オブジェクトの実行間で列のタイプまたは長さが変わる表に PreparedStatement オブジェクトがアクセスする場合は、 useCachedCursor を false に設定します。

useCachedCursor のデフォルトは以下のとおりです。

  • データ・サーバーが Db2 on Linux、UNIX、および Windows システムであり、ドライバーが以下のいずれかのレベルである場合は、 false
    • バージョン 3.67 または 4.17 以降
    • バージョン 3.64
  • データ・サーバーとドライバー・バージョンが以下のいずれかの組み合わせの場合は true
    • Db2 for z/OS データ・サーバーの場合、 useCachedカーソルが false になっているバージョン以外のドライバーの任意のバージョン

ドライバーのバージョンが 3.67 または 4.17以降、あるいは 3.64 で、 deferPrepares プロパティーが true に設定されている場合、ドライバーは、 useCachedCursor の設定に関係なく、 useCachedCursor が false に設定されているかのように動作します。

useCachedCursor プロパティーは、バージョン 3.69 または 4.19 のドライバーでは推奨されません。 アプリケーションでこのプロパティーを設定しないときの方が良いパフォーマンスを得られます。 以前のドライバーの動作が必要な場合は、このプロパティーを true または false に明示的に設定してください。

useIdentityValLocalForAutoGeneratedKeys
IBM Data Server Driver for JDBC and SQLJ が、自動生成されたキー値を判別するために SQL 組み込み関数 IDENTITY_VAL_LOCAL のみを使用するかどうかを指定します。 このプロパティーのデータ・タイプは boolean です。 可能な値は以下のとおりです。
true
IBM Data Server Driver for JDBC and SQLJ が常に SQL 組み込み関数 IDENTITY_VAL_LOCAL を使用して、自動生成されたキー値を判別することを指定します。 SELECT FROM INSERT の使用が可能でも、ドライバーは IDENTITY_VAL_LOCAL を 使用します。

ターゲット・データ・サーバーが SELECT FROM INSERT をサポートしていても、ターゲット・オブジェクトがサポートしていない場合は、true を指定します。 例えば、トリガーが定義されている表では SELECT FROM INSERT は無効です。

false
IBM Data Server Driver for JDBC and SQLJ が、自動生成キーを判別するために SELECT FROM INSERT または IDENTITY_VAL_LOCAL を使用するかどうかを決定することを指定します。 false がデフォルトです。
useJDBC4ColumnNameAndLabelSemantics
IBM Data Server Driver for JDBC and SQLJResultSetMetaData.getColumnNameResultSetMetaData.getColumnLabel、および ResultSet.findColumn メソッド呼び出しの列ラベルを処理する方法を指定します。

可能な値は以下のとおりです。

DB2BaseDataSource.YES (1)
IBM Data Server Driver for JDBC and SQLJ は、 JDBC 4.0 仕様に準拠する以下の規則を使用して、 ResultSetMetaData.getColumnNameResultSetMetaData.getColumnLabel、および ResultSet.findColumn が返す値を判別します。
  • ResultSetMetaData.getColumnName によって戻される列名はデータベースからの名前です。
  • ResultSetMetaData.getColumnLabel によって戻される列ラベルは SQL AS 節で指定されたラベルです。 SQL AS 節が指定されていない場合、ラベルは列の名前です。
  • ResultSet.findColumn は、SQL AS 節で指定された列のラベルを入力としてとります。 SQL AS 節が指定されていない場合、ラベルは列名です。
  • IBM Data Server Driver for JDBC and SQLJ は、SQL LABEL ON ステートメントによって割り当てられた列ラベルを使用しません。
これらの規則は、以下のデータベース・システムへの接続について、 IBM Data Server Driver for JDBC and SQLJ バージョン 3.50 以降に適用されます。
  • Db2 for z/OS バージョン 8 以降
  • Db2 on Linux、UNIX、および Windows システム バージョン 8.1 以降
  • Db2 for IBM i V5R3 以降

以前のバージョンのドライバーまたはデータベース・システムの場合、useJDBC4ColumnNameAndLabelSemantics が DB2BaseDataSource.YES に設定されていても、DB2BaseDataSource.NO の useJDBC4ColumnNameAndLabelSemantics 値の規則が適用されます。

DB2BaseDataSource.NO (2)
IBM Data Server Driver for JDBC and SQLJ は、以下の規則を使用して、 ResultSetMetaData.getColumnNameResultSetMetaData.getColumnLabel、および ResultSet.findColumn が戻す値を判別します。
データ・ソースが LABEL ON ステートメントをサポートしないか、またはソース列が LABEL ON ステートメントで定義されていない場合、以下の規則が適用されます。
  • ResultSetMetaData.getColumnName によって戻される値は、SQL AS 節が指定されていない場合はデータベースからの名前です。 SQL AS 節が指定されている場合、戻される値は列ラベルです。
  • ResultSetMetaData.getColumnLabel によって戻される値は SQL AS 節で指定されたラベルです。 SQL AS 節が指定されていない場合、戻される値は列の名前です。
  • ResultSet.findColumn は列名を入力としてとります。
ソース列が LABEL ON ステートメントで定義されている場合、以下の規則が適用されます。
  • ResultSetMetaData.getColumnName によって戻される値は、SQL AS 節が指定されていない場合はデータベースからの列名です。 SQL AS 節が指定されている場合、戻される値は AS 節で指定された列ラベルです。
  • ResultSetMetaData.getColumnLabel によって戻される値は LABEL ON ステートメントで指定されたラベルです。
  • ResultSet.findColumn は列名を入力としてとります。

これらの規則は、バージョン 3.50より前の IBM Data Server Driver for JDBC and SQLJ の動作に準拠しています。

DB2BaseDataSource.NOT_SET (0)
これがデフォルトの動作です。

IBM Data Server Driver for JDBC and SQLJ バージョン 3.50 以前の場合、 useJDBC4ColumnNameAndLabelSemantics のデフォルトの動作は、 DB2BaseDataSource.NOの動作と同じです。

IBM Data Server Driver for JDBC and SQLJ バージョン 4.0 以降の場合:
  • useJDBC4ColumnNameAndLabelSemantics のデフォルト動作は、次のデータベース・システムへの接続の場合、DB2BaseDataSource.YES の動作と同じです。
    • Db2 for z/OS バージョン 8 以降
    • Db2 on Linux、UNIX、および Windows システム バージョン 8.1 以降
    • Db2 for IBM i V5R3 以降
  • これらのデータベース・システムより前のバージョンへの接続の場合、useJDBC4ColumnNameAndLabelSemantics のデフォルト動作は DB2BaseDataSource.NO です。
xmlFormat
データ・サーバーから XML データを取り出すために使用する形式を指定します。 XML 形式は、接続が確立された後は変更できません。 可能な値は以下のとおりです。
com.ibm.db2.jcc.DB2BaseDataSource.XML_FORMAT_NOT_SET (-Integer.MAX_VALUE)
デフォルト XML 形式を使用することを指定します。 デフォルトは、テキスト XML 形式です。
com.ibm.db2.jcc.DB2BaseDataSource.XML_FORMAT_TEXTUAL (0)
XML テキスト形式が使用されることを指定します。
com.ibm.db2.jcc.DB2BaseDataSource.XML_FORMAT_BINARY (1)
バイナリー XML 形式が使用されることを指定します。

バイナリー XML を使用する場合、 IBM Data Server Driver for JDBC and SQLJ に渡される XML データは、外部エンティティー、内部エンティティー、または内部 DTD を参照できません。 外部 DTD は以前にデータ・ソースに登録されている場合にのみサポートされます。

com.ibm.db2.jcc.DB2ConnectionPoolDataSource.maxStatements
PooledConnection と関連付けられた内部ステートメント・キャッシュを制御します。 このプロパティーのデータ・タイプは int です。 可能な値は以下のとおりです。
正整数
PooledConnectionの内部ステートメント・キャッシュを使用可能にし、 IBM Data Server Driver for JDBC and SQLJ がキャッシュ内で開いたままにするステートメントの数を指定します。
0 or negative integer
PooledConnection について内部ステートメント・キャッシングを使用不可にします。 0 がデフォルト値です。

maxStatements は、PooledConnection オブジェクトが作成されるときにのみ、PooledConnection と関連付けられた内部ステートメント・キャッシュを制御します。 maxStatements は、既に存在している PooledConnection オブジェクトでのキャッシングには無効です。

maxStatements は、 Db2 for z/OS上の IBM Data Server Driver for JDBC and SQLJ タイプ 2 接続 、およびIBM Data Server Driver for JDBC and SQLJ タイプ 4 接続にのみ適用されます。