バインド

デフォルトでは、DB2 ECM プリプロセッサは、DB コンパイラ指令オプションで指定されたデータベースを使用して、コンパイル プロセス中にプログラムを自動的にバインドし、正常な実行に必要な DB2 パッケージを作成して DB2 データベースに格納します。

ただし、環境によっては、この単純なデフォルトの動作が要件に合わない場合があります。たとえば、コンパイル時に DBRM (.bnd ファイル) を作成し、後で DB2 LUW データベースに対して DB2 LUW BIND コマンドを使用して DBRM をバインドすることができます。このシナリオおよびその他の関連シナリオに対応するために、いくつかの DBRM オプションが用意されています。

DBRM オプション

作成した DBRM ファイルの代替名を指定できる 1 つのオプション、および DBRM ファイルを別のディレクトリにリダイレクトできる 3 つのオプションがあります。複数の出力オプションを指定した場合、DB2 ECM では優先されると判断されたオプションが使用されます。

BIND (または BINDFILE) および BINDDIR コンパイラ指令オプション
BIND (または BINDFILE)
BIND を使用すると、DBRM ファイルを作成するように DB2 ECM に指示するだけでなく、DBRM ファイルの代替ファイル名を指定することもできます。デフォルトの DBRM ファイル名は programname.bnd です。

また、BIND では、作成した DBRM ファイルを別のディレクトリにリダイレクトすることもできます。BINDDIR オプションおよび HCOBND オプションの一方または両方を一緒に使用していない限り、デフォルトは現在のディレクトリです。BIND を使用してパスを指定すると、他のすべての出力オプション (設定されている場合) よりも優先されます。

注: ACCESS コンパイラ指令オプション (デフォルト) を使用してプログラムをコンパイルすると、DBRM は接続されているデータベースにバインドされ、そこで実行に必要な SQL パッケージが作成されます。NOACCESS を使用してコンパイルすると、バインドは行われません。

BIND はコマンド ラインまたはプロジェクト プロパティで設定できます。詳細については、BIND DB2 コンパイラ指令オプションのトピックおよび以下の「プロジェクトでの BIND および BINDDIR の設定」のセクションを参照してください。

BINDDIR
作成した DBRM ファイルの代替出力ディレクトリを指定するには、BINDDIR を使用します。BINDDIR で指定したパスは、HCOBND 環境変数で指定したパスよりも優先されますが、パスが BIND (または BINDFILE) で指定されている場合はオーバーライドされます。

BINDDIR はコマンド ラインまたはプロジェクト プロパティで設定できます。詳細については、BINDDIR DB2 コンパイラ指令オプションのトピックおよび以下の「プロジェクトでの BIND および BINDDIR の設定」のセクションを参照してください。

プロジェクトでの BIND および BINDDIR の設定
Visual COBOL からのコンパイル時に BIND または BINDDIR を使用する場合は、プロジェクト プロパティの [SQL プリプロセッサ] ページでこれらの指令の一方または両方を設定します。[設定] グリッドで、一方または両方に特定のディレクトリを入力できます。また、いずれかを定義済みのビルド出力ディレクトリに設定するには、その指令に関連付けられたドロップダウン リストを使用して、その設定を <Enabled> に変更します。この設定は、指令の生成時にビルド ディレクトリを自動的に置き換えるように IDE に指示します。
注: プロジェクトをクリーンアップすると、Visual COBOL により、ビルド ディレクトリ内にある .bnd ファイルを含むすべてのファイルが削除されます。
HCOBND 環境変数
重要: このオプションは非推奨です。下位互換性のみを目的として提供されています。

作成した DBRM ファイルの代替出力ディレクトリを指定するには、HCOBND 環境変数を設定します。このオプションは優先度が最も低く、BIND または BINDDIR コンパイラ指令オプションのいずれかで代替パスが指定されていない場合にのみ使用されます。

詳細については、「HCOBND 環境変数」を参照してください。