バインド制御パーツ
- データベース要求モジュール (DBRM) を作成する DB2® プリコンパイル・ステップ
- DB2 計画をバインドする DB2 バインド・ステップ。 場合によりこのバインドでは、その DBRM と、同じトランザクションまたはバッチ・ジョブ用に用意された他のプログラムの DBRM を組み合わせます。
バインド制御パーツは、 z/OS システム用に 生成される DB2 プログラムでのみ使用されます。 バインド制御の目的は、プログラムと DB2 が同一レベルになるようにすることです。 バインド制御パーツの情報は、DB2 プロセッサーに渡されるバインド制御ファイルの作成に使用されます。 バインド制御ファイルは、準備時に作成される DB2 計画の中に含まれるデータベース要求モジュール (DBRM) を指定します。
複数のバインド制御パーツを定義できます。bind ビルド記述子オプションは、 生成の出力時に含めるバインド制御パーツを示します。
デフォルトのバインド制御パーツの使用法
TSOLIB ACTIVATE DA('%DSNLOAD%')
ALLOC FI(DBRMLIB) SHR DA('%EZEPID%.%SYSTEM%.DBRMLIB')
CONCATD FI(DBRMLIB) SHR DA('%ELA%.SELADBRM')
DSN SYSTEM($DSYS%)
BIND PLAN(%EZEALIAS%) -
MEMBER(%EZEALIAS%) -
ACT(REP) -
RETAIN -
VALIDATE(BIND) -
ISOLATION(CS)
* OWNER(OWNERGRP)
- system ビルド記述子オプションを ZOSBATCH に設定する。
- projectID ビルド記述子オプションを ORDERSYS に設定する
- DSNLOAD 事前定義シンボリック・パラメーターを DSN8HLQ.DSNLOAD に設定する
- ELA 事前定義シンボリック・パラメーターを ELAHLQ.V5R0M0 に設定する
- DSYS 事前定義シンボリック・パラメーターを DSN8 に設定する
TSOLIB ACTIVATE DA('DSN8HLQ.DSNLOAD')
ALLOC FI(DBRMLIB) SHR DA('ORDERSYS.ZOSBATCH.DBRMLIB')
CONCATD FI(DBRMLIB) SHR DA('ELAHLQ.V5R0M0.SELADBRM')
DSN SYSTEM(DSN8)
BIND PLAN(MAILORDR)
MEMBER(MAILORDR, ELADBRM4) -
ACT(REP) -
RETAIN -
VALIDATE(BIND) -
ISOLATION(CS)
* OWNER(OWNERGRP)
ELADBRM4 は EGL 提供 DBRM で、z/OS バッチ環境で使用されます。テンプレートとして使用するバインド制御パーツの設定
場合によっては、パッケージを既存の計画にバインドする方が好ましいことがあります。これを実行するには、特定の環境で使用されるすべてのバインドで使用するテンプレートを含んだ EGL バインド制御パーツを作成し、このパーツをワークスペースに保存しなければなりません。
例えば、次に類似した BIND_TEMPLATE という名前のバインド制御パーツを作成するとします。
TSOLIB ACTIVATE DA('%DSNLOAD%')
ALLOC FI(DBRMLIB) SHR DA('%EZEPID%.%SYSTEM%.DBRMLIB')
CONCATD FI(DBRMLIB) SHR DA('%ELA%.SELADBRM')
DSN SYSTEM(%DSYS%)
BIND PACKAGE(%MYCOLLECTIONNAME%) -
MEMBER(%EZEALIAS%) -
ACT(REP) -
RETAIN -
VALIDATE(BIND) -
ISOLATION(CS)
* OWNER(OWNERGRP)
直前の例の MYCOLLECTIONNAME は、ユーザー定義シンボリック・パラメーターです。これを作成し、ビルド記述子パーツに値を設定することができます。 もう 1 つのシンボリック・パラメーターは、EGL 組み込みテンプレートで使用されるのと同じものです。
- ビルド記述子パーツの変更。 バインド制御パーツ (BIND_TEMPLATE) を指すように bind ビルド記述子オプションを設定する必要があります。
- 次のような状況では、EGL 提供の DBRM のパッケージを各 DB2 計画にバインドしてください。
- ランタイム環境が DB2 のみを使用する z/OS バッチの場合に、EGL 提供 DBRM が ELADBRM4 である
- ランタイム環境が DB2 作業データベースを使用した IMS/VS の場合に、EGL 提供 DBRM が ELADBRM3 である
プログラム固有のバインド制御パーツの設定
- プログラム固有のバインド制御パーツを、プログラム、ライブラリー、またはサービスと同じ名前で作成します。 デフォルトで、EGL は生成されるバインド制御パーツと同じ名前のパーツを探します。
- プログラム固有のバインド制御パーツを、プログラム、ライブラリー、またはサービスと異なる名前で作成します。 この場合、プログラム、ライブラリー、またはサービスを生成するときは必ず、bind ビルド記述子オプションをバインド制御パーツの名前に設定する必要があります。
TSOLIB ACTIVATE DA('DSN8HLQ.DSNLOAD')
ALLOC FI(DBRMLIB) SHR DA('ORDERSYS.ZOSBATCH.DBRMLIB')
CONCATD FI(DBRMLIB) SHR DA('ELAHLQ.V5R0M0.SELADBRM')
DSN SYSTEM(DSN8)
BIND PLAN(MYABPLAN) -
MEMBER(PROGRAMA,PROGRAMB,ELADBRM4) -
ACT(REP) -
RETAIN -
VALIDATE(BIND) -
ISOLATION(CS) -
* OWNER(OWNERGRP)
ELADBRM4 は EGL 提供 DBRM で、DB2 を使用する場合に必ず z/OS バッチ環境で必要になります。ProgramA という名前のバインド制御パーツと、ProgramB という名前の同一のバインド制御パーツを作成できます。この結果、EGL はプログラム固有のバインド制御パーツを自動的に検出します。 代わりに、MYABPLAN という名前の単一バインド制御パーツを作成し、 ProgramA または ProgramB のいずれかを生成するときは必ず、bind ビルド記述子オプションを MYABPLAN を指すように設定してもかまいません。
EGL を使用した SQL データベース内のデータに対するアクセスについては、トピック『SQL データ・アクセス』および「EGL 言語解説書」の関連トピックを参照してください。