この節では、以下のトピックについて記載します。
組み込み SQL および DB2 API 呼び出しを含むアプリケーションを開発しており、 IBM VisualAge COBOL コンパイラーを使用している場合には、以下の点に留意してください。
%DB2PATH%\include\cobol_i
提供されたバッチ・ファイルを使って DB2 サンプル・プログラムを作成している場合、 バッチ・ファイルで指定された組み込みファイルのパスは、 cobol_a ディレクトリーではなく、 cobol_i ディレクトリーを指すように変更しなければなりません。
IBM VisualAge COBOL コンパイラーの「システム/390 ホスト・データ型サポート」機能を使用していない場合、 またはこのコンパイラーのそれよりも前のバージョンを使用している場合、 アプリケーション用の DB2 組み込みファイルは、次のディレクトリー中にあります。
%DB2PATH%\include\cobol_a
COPY ファイル名を .cbl 拡張子を含めて指定するには、 次のように入力します。
COPY "sql.cbl".
%DB2PATH%\samples\cobol にあるバッチ・ファイル bldapp.bat には、 DB2 アプリケーション・プログラムを作成するためのコマンドが入っています。
第 1 パラメーター %1 には、ソース・ファイルの名前を指定します。 これは組み込み SQL を含まないプログラムに必要な唯一のパラメーターです。 組み込み SQL プログラムを作成するためにはデータベースへの接続が必要なため、 3 つのパラメーターがオプションとして用意されています。 2 番目のパラメーターは %2 で、 接続するデータベースの名前を指定します。 3 番目のパラメーターは %3 で、 データベースのユーザー ID を指定します。 そしてもう 1 つが %4 で、 データベースのパスワードを指定します。
組み込み SQL プログラムの場合、bldapp は、 プリコンパイルおよびバインドのファイル embprep にパラメーターを渡します。 データベース名を指定しない場合は、 デフォルトの sample データベースを使用します。なお、ユーザー ID とパスワードのパラメーターは、 プログラムを構築するインスタンスとデータベースのあるインスタンスが異なる場合にのみ必要になります。
@echo off rem bldapp.bat -- Windows 32-bit operating systems rem Builds a VisualAge COBOL application program rem Usage: bldapp <prog_name> [ <db_name> [ <userid> <password> ]] rem If an embedded SQL program, precompile and bind it. if not exist "%1.sqb" goto compile_step call embprep %1 %2 %3 %4 :compile_step rem Compile the error-checking utility. cob2 -qpgmname(mixed) -c -qlib -I"%DB2PATH%\include\cobol_a" checkerr.cbl rem Compile the program. cob2 -qpgmname(mixed) -c -qlib -I"%DB2PATH%\include\cobol_a" %1.cbl rem Link the program. cob2 %1.obj checkerr.obj db2api.lib @echo on
bldapp のコンパイルおよびリンク・オプション |
---|
コンパイル・オプション
|
リンク・オプション
他のコンパイラー・オプションについては、
コンパイラーの資料をご覧ください。
|
ソース・ファイル client.cbl から組み込み SQL を含まないサンプル・プログラム client を作成するには、 次のように入力します。
bldapp client
結果として、実行可能ファイル client.exe が作成されます。 この実行可能ファイルを sample データベースに対して実行するには、 次の実行可能名を (拡張子なしで) 入力します。
client
ソース・ファイル updat.sqb から組み込み SQL アプリケーション updat を構築する方法には、 次の 3 つがあります。
bldapp updat
bldapp updat database
bldapp updat database userid password
結果として、実行可能ファイル updat が作成されます。
この組み込み SQL アプリケーションを実行する方法には次の 3 つがあります。
updat
updat database
updat database userid password
%DB2PATH%\samples\cobol にあるバッチ・ファイル bldsrv.bat には、 組み込み SQL ストアード・プロシージャーを作成するためのコマンドが入っています。 バッチ・ファイルは、 ストアード・プロシージャーをサーバー上の DLL にコンパイルします。
第 1 パラメーター %1 には、ソース・ファイルの名前を指定します。 第 2 パラメーター %2 には、接続先のデータベースの名前を指定します。 ストアード・プロシージャーは、 必ずデータベースが常駐するインスタンスに構築される必要があるため、 ユーザー ID やパスワードを指定するパラメーターはありません。
第 1 パラメーター (ソース・ファイル名) だけが必須です。 データベース名は任意で指定します。 データベース名を指定しない場合、 プログラムはデフォルトの sample データベースを使用します。
バッチ・ファイルでは、 ソース・ファイル名 %1 を DLL 名に使用します。
@echo off rem bldsrv.bat -- Windows 32-bit operating systems rem Builds a VisualAge COBOL stored procedure rem Usage: bldsrv <prog_name> [ <db_name> ] rem Precompile and bind the program. call embprep %1 %2 rem Compile the stored procedure. cob2 -qpgmname(mixed) -c -qlib -I"%DB2PATH%\include\cobol_a" %1.cbl rem Link the stored procedure and create a shared library. ilib /nol /gi:%1 %1.obj ilink /free /nol /dll db2api.lib %1.exp %1.obj iwzrwin3.obj rem Copy stored procedure to the %DB2PATH%\function directory. copy %1.dll "%DB2PATH%\function" @echo on
bldsrv のコンパイルおよびリンク・オプション |
---|
コンパイル・オプション
|
リンク・オプション
他のコンパイラー・オプションについては、
コンパイラーの資料をご覧ください。
|
サンプル・データベースに接続している場合、 ソース・ファイル outsrv.sqb からサンプル・プログラム outsrv を作成するには、 次のように入力します。
bldsrv outsrv
他のデータベースに接続しているときは、 さらにデータベース名も含めます。
bldsrv outsrv database
このスクリプト・ファイルは、 パス sqllib/function 内のサーバーにストアード・プロシージャーをコピーします。
必要であれば、ストアード・プロシージャーにファイル・モードを設定して DB2 インスタンスがそれを実行できるようにしてください。
ストアード・プロシージャー outsrv を構築してしまえば、 そのストアード・プロシージャーを呼び出すクライアント・アプリケーション outcli を構築できます。 outcli は、bldapp バッチ・ファイルを使用して構築することができます。 詳細については、 "DB2 API と組み込み SQL アプリケーション"を参照してください。
ストアード・プロシージャーを呼び出すためには、 次のように入力してサンプル・クライアント・アプリケーションを実行します。
outcli database userid password
ここで、それぞれは次のものを表します。
クライアント・アプリケーションはストアード・プロシージャー・ライブラリー outsrv にアクセスし、 ストアード・プロシージャー関数をサーバー・データベース上で実行します。 この出力は、クライアント・アプリケーションに戻されます。