DB2Binder ユーティリティー

DB2Binder ユーティリティは、 Db2 データサーバーで使用されるパッケージを Db2 for z/OS® データサーバーで使用されるパッケージを IBM® Data Server Driver for JDBC and SQLJ、パッケージに対するEXECUTE権限をPUBLICに付与します。 オプションとして、 DB2Binder ユーティリティは、 Db2 パッケージを再バインドすることができます。 IBM Data Server Driver for JDBC and SQLJ

DB2Binder の構文

Read syntax diagramSkip visual syntax diagramjavacom.ibm.db2.jcc.DB2Binder-url"jdbc: db2://server :port /database:property= value;"-user user-ID-password password -size integer-collection collection-name-tracelevel ,trace-option-actionadd-actionreplace-actiondrop-actionrebind-reoptnone-reoptalways-reoptonce-reoptauto-blockingall-blockingunambig-blockingno-optprofileprofile-name-ownerauthorization-ID-sqlidauthorization-ID-generic-packagepackage-name-versionversion-id-keepdynamicno-keepdynamicyes-releasecommit-releasedeallocate-bindOptions"options-string"-verbose-help

DB2Binder オプションの説明

-url
パッケージがバインドされるデータソースを指定します。 IBM Data Server Driver for JDBC and SQLJ パッケージがバインドされる。 -url 値の各部は、以下のとおりです。
jdbc:db2:
接続先がデータサーバーであることを示します。 Db2 for z/OS データサーバーであることを示します。
server
データ・サーバーが存在するオペレーティング・システムのドメイン名または IP アドレス。
port
データ・サーバーに割り当てられている TCP/IP サーバーのポート番号。 デフォルトは 446 です。
database
SYSIBM.LOCATIONS カタログ表で定義されている、データ・サーバーのロケーション名。
property=value
プロパティとそのデータサーバーへの接続の価値 Db2 for z/OS データサーバーへの接続の価値。 1 つ以上のプロパティーと値の対を指定できます。 プロパティーと値の各ペア (最後のペアを含む) は、セミコロン (;) で終わる必要があります。プロパティーと値のストリングのリスト内のどこにも、スペースやその他の空白文字を含めないでください。

例えば、パッケージを構築する場合、 IBM Data Server Driver for JDBC and SQLJ パッケージをデータサーバー上に構築し、 Db2 12 for z/OS データサーバー上でパッケージを構築し、 clientApplcompat および currentPackageSet プロパティの値を指定したい場合、-urlオプション値で次のように指定できます

-url "jdbc:db2://sys1.svl.ibm.com:5021/STLEC1:clientApplcompat=V12R1M500;currentPackageSet=MYCOLL;"
-user
パッケージをバインドするユーザー ID を指定します。 このユーザーは、パッケージに対する BIND 権限を持っている必要があります。
-action
パッケージに実行するアクションを指定します。
add
パッケージを作成できるのは、そのパッケージがまだ存在しない場合のみであることを指示します。 add はデフォルトです。
replace
同名のパッケージがすでに存在する場合でも、パッケージを作成できることを指示します。 新規のパッケージが、古いパッケージに取って代わります。
rebind
既存のパッケージを再バインドすることを示します。 このオプションはパッケージには適用されません。 IBM Data Server Driver for JDBC and SQLJ パッケージには適用されません。

-action rebind および -bindOptions を指定する場合、-generic も指定する必要があります。

drop
パッケージをドロップすることを示します。
  • パッケージの場合、-action dropは、一部または全部の IBM Data Server Driver for JDBC and SQLJ パッケージの場合、-action dropは、一部またはすべての IBM Data Server Driver for JDBC and SQLJ パッケージが削除されるべきであることを示します。 パッケージの数は、-size パラメーターに応じて異なります。
  • ユーザー・パッケージの場合、-action ドロップは、指定されたパッケージをドロップすることを示します。

-アクションドロップは、対象のデータサーバーの場合のみ適用されます。 Db2 for z/OS

-size
同時に開くことができる StatementPreparedStatement、または CallableStatement オブジェクトの数、またはドロップされるパッケージの数を制御します。 IBM Data Server Driver for JDBC and SQLJ パッケージがドロップされた数。

-size パラメーターの意味は、-action パラメーターに以下のように依存します。

  • -action の値が add または replace の場合、-size の値は、 Db2 パッケージの IBM Data Server Driver for JDBC and SQLJ バインドする -size の値が integer であれば、パッケージの合計数は次のようになります。
    number-of-isolation-levels* 
    number-of-holdability-values* 
    integer+ 
    number-of-packages-for-static-SQL  
    = 4*2*integer+1
    -action add または -action replace のデフォルトの -size 値は 3 です。

    たいていの場合、デフォルトの 3 が適切です。 アプリケーションが SQLException を -805 SQLCODE でスローする場合、アプリケーションが未使用のすべてのリソースをクローズしていることを確認してください。 クローズしている場合は、-size 値を増やします。

    -action の値が replace で、-size の値が既存のものより少ない数のパッケージという結果になる場合は、ドロップされるパッケージはありません。

  • -action の値が drop の場合、-size の値はドロップされるパッケージの数です。 -size が指定されていない場合、すべての IBM Data Server Driver for JDBC and SQLJ パッケージが削除されます。
  • -action の値が rebind の場合、-size は無視されます。
-collection
コレクションIDを指定します。 IBM Data Server Driver for JDBC and SQLJ またはユーザーパッケージ。 デフォルトは NULLID です。 DB2Binder はこの値を大文字に変換します。

単一のデータ・サーバー上で IBM Data Server Driver for JDBC and SQLJ パッケージの複数のインスタンスを作成するには、次のコマンドを実行します。 com.ibm.db2.jcc.DB2Binder 複数回実行し、そのたびに -collection に異なる値を指定します。 実行時に、 IBM Data Server Driver for JDBC and SQLJ のコピーを選択するには、 currentPackageSet プロパティを -collection 値に一致する値に設定します。

-tracelevel
DB2Binder の実行時に何をトレースするかを指定します。 有効な値の一覧については、 DB2TraceManager クラスを参照してください。
-reopt
データ・サーバーが実行時にアクセス・パスを判別するかどうかを指定します。 指定しない場合、このオプションはデータ・サーバーには送られません。 その場合、データ・サーバーは再最適化の動作を決定します。

-reopt は、 Db2 for z/OS バージョン8以降、または Db2 on Linux®、UNIX、Windowsシステムバージョン 9.1 以降。

none
実行時にアクセス・パスを判別しないよう指定します。
always
ステートメントを実行するたびにアクセス・パスを判別することを指定します。
once
実行時に DB2 が一度だけ動的ステートメントのアクセス・パスを判別してキャッシュに入れることを指定します。 DB2 は、準備されたステートメントが無効にされるか、動的ステートメント・キャッシュからステートメントが除去されて再度準備が必要になるまで、このアクセス・パスを使用します。
auto
データ・サーバーによってアクセス・パスが自動的に決定されることを指定します。 auto はデータサーバーへの接続のみに有効です。 Db2 for z/OS データサーバーへの接続のみに有効です。
-blocking
カーソルに対する行ブロックのタイプを指定します。
ALL
FOR READ ONLY 節で指定され、FOR UPDATE 節で指定されていないカーソルの場合、ブロッキングが発生します。
UNAMBIG
FOR READ ONLY 節で指定されているカーソルの場合、ブロック化が発生します。

FOR READ ONLY または FOR UPDATE 節で宣言されていない、未確定ではなく読み取り専用 であるカーソルはブロック化されます。 未確定 カーソルはブロックされません。

NO
どのカーソルの場合もブロッキングは行われません。

読み取り専用カーソルおよび未確定カーソルの定義については、「DECLARE CURSOR」を参照してください。

-optprofile
パッケージのデータ変更ステートメントの最適化に使用される最適化プロファイルを指定します。 このプロファイルは、ターゲット・サーバー上に存在しなければならない XML ファイルです。 -optprofile が指定されておらず、CURRENT OPTIMIZATION PROFILE 特殊レジスターが設定されている場合、CURRENT OPTIMIZATION PROFILE の値が使用されます。 -optprofile が指定されておらず、CURRENT OPTIMIZATION PROFILE が設定されていない場合、最適化プロファイルは使用されません。

-optprofileは、 Linux、UNIX、Windowsシステムデータサーバー上の Db2 への接続のみに有効です。

-owner
パッケージの所有者の許可 ID を指定します。 デフォルト値はデータ・サーバーによって設定されます。

-所有者はパッケージのみに適用されます。 IBM Data Server Driver for JDBC and SQLJ パッケージにのみ適用されます。

-sqlid
DB2Binder がパッケージに対するGRANT操作を実行する前に、CURRENT SQLID特殊レジスタに設定される値を指定します。 IBM Data Server Driver for JDBC and SQLJ パッケージの 1 次許可 ID にはパッケージに関する特権を付与するだけの十分なレベルの権限がなく、かつそのような特権を持つ 2 次許可 ID がこの 1 次許可 ID に関連付けられている場合は、-sqlid を 2 次許可 ID に設定してください。

-sqlidはデータサーバーへの接続のみで有効です。 Db2 for z/OS データサーバーへの接続のみに有効です。

-generic
DB2Binder がパッケージの代わりにユーザーパッケージを再バインドすることを指定します。 IBM Data Server Driver for JDBC and SQLJ パッケージの代わりにユーザーパッケージを再バインドすることを指定します。 -generic を指定する場合、-action rebind および -package も指定しなければなりません。
-package
再バインドされるパッケージの名前を指定します。 このオプションはユーザー・パッケージだけに適用されます。 -package を指定する場合、-action rebind および -generic も指定しなければなりません。
-version
再バインドされるパッケージのバージョン ID を指定します。 -version を指定する場合、-action rebind、-package、および -generic も指定しなければなりません。
-keepdynamic
データサーバーが、コミットまたはロールバックのポイントの後も、すでに準備されたダイナミックSQLステートメントをダイナミックステートメントキャッシュに保持し、それらの準備されたステートメントを再利用できるようにするかどうかを指定します。keepdynamic は、 Db2 for z/OS

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

no
データ・サーバーは、コミットまたはロールバックのポイント後に、既に準備済みの動的 SQL ステートメントを動的ステートメント・キャッシュ内に維持し続けません。
yes
データ・サーバーは、コミットまたはロールバックのポイント後も、既に準備済みの動的 SQL ステートメントを動的ステートメント・キャッシュ内に維持し続けます。

-keepdynamic にデフォルト値はありません。 値をデータ・サーバーに送信しないと、 そのデータ・サーバーの設定により動的ステートメント・キャッシュが有効になるかどうかが決まります。 動的ステートメント・キャッシュが行われるのは、 EDM 動的ステートメント・キャッシュがデータ・サーバーで有効になっている場合のみです。 動的ステートメント・キャッシュを使用可能にするには、CACHEDYN サブシステム・パラメーターを YES に設定する必要があります。 ターゲット・サーバーに応じて、準備済みステートメント・キャッシュは、コミット・ポイントの後だけでなく、トランザクション境界を超えて保持される場合があります。

-release
プログラムが使用するデータサーバーのリソースを解放するタイミングを指定します。-releaseは、接続のみに適用されます Db2 for z/OS。 可能な値は以下のとおりです。
deallocate
以下の状況でリソースを解放することを指定します。
  • ローカルに接続されているプログラムが Db2 for z/OS 終了すると、
  • WebSphere Application Server などの IBM Data Server Driver for JDBC and SQLJ タイプ2接続を使用している z/OS アプリケーションサーバーからすべての接続が閉じられた場合、 Db2 for z/OS、アプリケーションサーバーでホストされているアプリケーションのクライアントパッケージは、RELEASE DEALLOCATEとバインドされています。

-release deallocateは、 Db2 for z/OS バージョン10以降のデフォルトです。

commit
コミットポイントでリソースが解放されることを指定します。-release commitは、 Db2 for z/OS バージョン9以前のデフォルトです。
-bindOptions
引用符で囲んだストリングを指定します。 このストリングの内容は、ユーザー・パッケージの再バインド用のオプションを表す、1 つ以上のパラメーターと値の組です。 ストリング内のすべての項目は、スペースで区切られます。
"parm1 value1 parm2 value2parmn valuen"

-bindOptions 適用されません。 IBM Data Server Driver for JDBC and SQLJDb2、 Linux、UNIX、Windowsシステムデータサーバー にバインドされているパッケージには適用されません。

以下の -bindOptions 値は、ユーザー・パッケージを再バインドする場合にのみ指定できます。
bindObjectExistenceRequired
すべてのオブジェクトまたは必要とされる特権が再バインド時に存在しない場合、データ・サーバーがエラーを発行して、パッケージを再バインドしないかどうかを指定します。 可能な値は以下のとおりです。
true
このオプションは SQLERROR(NOPACKAGE) バインド・オプションに対応します。
false
このオプションは SQLERROR(CONTINUE) バインド・オプションに対応します。
degreeIOParallelism
パフォーマンスを最大化するために、並列処理を使用して静的照会の実行を試行するかどうかを指定します。 可能な値は以下のとおりです。
1
並列処理はありません。

このオプションは DEGREE(1) バインド・オプションに対応します。

-1
並列処理を許可します。

このオプションは DEGREE(ANY) バインド・オプションに対応します。

packageAuthorizationRules
以下の動的 SQL 属性に実行時に適用される値を決定します。
  • 許可の検査に使用される許可 ID
  • 非修飾オブジェクトに使用される修飾子
  • データ・サーバーが動的 SQL ステートメントを構文解析して意味的に検証するために使用する、アプリケーション・プログラミング・オプションのソース
  • 動的 SQL ステートメントが GRANT、REVOKE、ALTER、CREATE、DROP、および RENAME ステートメントを組み込めるかどうか
可能な値は以下のとおりです。
0
実行の動作を使用します。 これはデフォルトです。

このオプションは DYNAMICRULES(RUN) バインド・オプションに対応します。

1
バインドの動作を使用します。

このオプションは DYNAMICRULES(BIND) バインド・オプションに対応します。

2
パッケージがストアード・プロシージャーまたはユーザー定義関数パッケージとして、またはその下で実行する場合、データ・サーバーは呼び出しの動作を使用して動的 SQL ステートメントを処理します。 そうでない場合、データ・サーバーは実行の動作を使用して動的 SQL ステートメントを処理します。

このオプションは DYNAMICRULES(INVOKERUN) バインド・オプションに対応します。

3
パッケージがストアード・プロシージャーまたはユーザー定義関数パッケージとして、またはその下で実行する場合、データ・サーバーは呼び出しの動作を使用して動的 SQL ステートメントを処理します。 そうでない場合、データ・サーバーはバインドの動作を使用して動的 SQL ステートメントを処理します。

このオプションは DYNAMICRULES(INVOKEBIND) バインド・オプションに対応します。

4
パッケージがストアード・プロシージャーまたはユーザー定義関数パッケージとして、またはその下で実行する場合、データ・サーバーは定義の動作を使用して動的 SQL ステートメントを処理します。 そうでない場合、データ・サーバーは実行の動作を使用して動的 SQL ステートメントを処理します。

このオプションは DYNAMICRULES(DEFINERUN) バインド・オプションに対応します。

5
パッケージがストアード・プロシージャーまたはユーザー定義関数パッケージとして、またはその下で実行する場合、データ・サーバーは定義の動作を使用して動的 SQL ステートメントを処理します。 そうでない場合、データ・サーバーはバインドの動作を使用して動的 SQL ステートメントを処理します。

このオプションは DYNAMICRULES(DEFINEBIND) バインド・オプションに対応します。

packageOwnerIdentifier
パッケージの所有者の許可 ID を指定します。
isolationLevel
他の実行中のアプリケーションの影響からアプリケーションをどの程度隔離するかを指定します。 可能な値は以下のとおりです。
1
非コミット読み取り

このオプションは ISOLATION(UR) バインド・オプションに対応します。

2
カーソル固定

このオプションは ISOLATION(CS) バインド・オプションに対応します。

3
読み取り固定

このオプションは ISOLATION(RS) バインド・オプションに対応します。

4
反復可能読み取り

このオプションは ISOLATION(RR) バインド・オプションに対応します。

releasePackageResourcesAtCommit
各コミット・ポイントでプログラムが使用するリソースをいつ解放するかを指定します。 可能な値は以下のとおりです。
true
このオプションは RELEASE(COMMIT) バインド・オプションに対応します。
false
このオプションは RELEASE(DEALLOCATE) バインド・オプションに対応します。

データサーバーへの接続については、 Db2 for z/OS データサーバーへの接続については、 パッケージ、プラン、およびサービスのBINDおよびREBINDオプション にリストされている任意のバインドパッケージオプションとその値を指定することもできます。

-action rebind および -bindOptions を指定する場合、-generic も指定する必要があります。

-verbose
DB2Binder ユーティリティーがバインド処理に関する詳細情報を表示するように指定します。
-help
DB2Binder ユーティリティーで、サポートされる各オプションの説明を表示するように指定します。 -help と共に他のオプションが指定されても、それらは無視されます。

DB2Binder ターゲットのオペレーティングシステムがWindowsでない場合の戻りコード

DB2Binder の対象データソースがWindowsオペレーティングシステム上にない場合、 DB2Binder は以下のいずれかの戻りコードを返します。

表 1. DB2Binder ターゲットのオペレーティングシステムがWindowsでない場合の戻りコード
Return code 意味
0 実行成功
1 DB2Binder の実行中にエラーが発生しました。

DB2Binder ターゲットのオペレーティングシステムがWindowsの場合の戻りコード

DB2Binder の対象データソースがWindowsオペレーティングシステム上にある場合、 DB2Binder は以下のいずれかのリターンコードを返します。

表 2. DB2Binder ターゲットのオペレーティングシステムがWindowsの場合の戻りコード
Return code 意味
0 実行成功
-100 バインド・オプションが指定されていません。
-101 -url 値が指定されていません。
-102 -user 値が指定されていません。
-103 -password 値が指定されていません。
-200 有効なバインド・オプションが指定されていません。
-114 -package オプションは指定されませんでしたが、-generic オプションは指定されました。
-201 -url 値が無効です。
-204 -action 値が無効です。
-205 -blocking 値が無効です。
-206 -collection 値が無効です。
-207 -dbprotocol 値が無効です。
-208 -keepdynamic 値が無効です。
-210 -reopt 値が無効です。
-211 -size 値が無効です。
-212 -tracelevel 値が無効です。
-307 -dbprotocol 値はターゲット・データ・サーバーによりサポートされていません。
-308 -keepdynamic 値はターゲット・データ・サーバーによりサポートされていません。
-310 -reopt 値はターゲット・データ・サーバーによりサポートされていません。
-313 -optprofile 値はターゲット・データ・サーバーによりサポートされていません。
-401 Binder クラスが検出されませんでした。
-402 データ・サーバーへの接続が失敗しました。
-403 データ・サーバーの DatabaseMetaData 検索が失敗しました。
-501 クラスターで使用可能なパッケージはこれ以上ありません。
-502 既存のパッケージは無効です。
-503 バインド処理がエラーを戻しました。
-999 文書化されていないバインド・オプションの処理中にエラーが発生しました。