Interstage Application Server アプリケーション作成ガイド (データベース連携サービス編) |
目次 索引 |
付録E サンプル(COBOL) |
トランザクション運用のアプリケーションについてCOBOLを使用したサンプルプログラムをそれぞれ以下の内容で説明します。
本サンプルによって行う運用について以下に示します。
本サンプルでは、サーバアプリケーションからSymfoware/RDBにアクセスします。
本サンプルのファイル構成を、以下に示します。
ファイルはすべて、“Interstageインストールフォルダ\td\sample\OTS”配下に格納されています。
No |
ファイルの概要 |
ファイル名 |
(1) |
IDLファイル |
otssample.idl |
(2) |
サーバアプリケーションソース |
otssample_s.ecob |
(3) |
クライアントアプリケーションソース |
otssample_c.c |
(4) |
ワークユニット定義ファイル |
otssample.wu |
(5) |
リソース定義ファイル |
rdbresource.def |
(6) |
サンプルデータベース作成用バッチファイル |
crtdbddl.bat |
(7) |
サンプルデータベース作成用ファイル |
dbinit.dat |
(8) |
サンプルデータベース作成用ファイル |
crtdbddl |
(9) |
サンプルデータベース削除用バッチファイル |
drpdbddl.bat |
(10) |
サンプルデータベース削除用ファイル |
drpdbddl |
(11) |
動作確認用プログラム |
rdbselect.ecob |
(12) |
プリコンパイル用バッチファイル |
ots.bat |
(13) |
サーバアプリケーションプロジェクトファイル |
Ots.prj |
(14) |
サーバアプリケーション翻訳オプションファイル |
Ots.cbi |
(15) |
クライアントアプリケーションプロジェクトファイル |
Otssample_c.vcproj |
(16) |
クライアントアプリケーションソリューションファイル |
Otssample_c.sln |
本サンプルプログラムのほとんどは、そのままではコンパイルができません。各項の説明を良くお読みになり、お使いの環境にあわせて一部を修正する必要があります。
本サンプルプログラムの実行環境や、開発環境(コンパイル環境)は、事前に整えておく必要があります。
コンパイルの方法について説明します。
コンパイルの前の準備について説明します。
(1) Symfoware/RDBがインストールされていることを確認してください。
(2) CコンパイラおよびCOBOLコンパイラがインストールされており、かつ動作可能なことを確認してください。
(3)CORBAサービスが起動していることを確認してください。
COBOL97でコンパイルする場合、下記の点に注意してください。
本サンプルプログラムのプロジェクトファイルは、InterstageをC:\配下にインストールした状態を想定して提供しているため、他のフォルダにインストールした場合はライブラリファイルおよび登録集格納先のフォルダを変更する必要があります。
本アプリケーションをコンパイルする手順を説明します。
なお、本アプリケーションは、Microsoft(R) Visual C++(R)またはCOBOL97のプロジェクトを使用してコンパイルすることを前提としています。
本サンプルを使用するにあたり、提供ファイルを任意のフォルダに複写し、複写先の環境にあわせて各ファイルをカストマイズすることをお勧めします。
COBOLのサンプルを使用する場合は、空白を含まないフォルダに複写してください。
以下の記号を使用して説明します。
> cd $CURRENT > tdc -c otssample.idl --------------------------(a)
サーバアプリケーションと動作確認用プログラム
のプリコンパイル --------------------------------(b)
サーバアプリケーションのコンパイル --------------(c) クライアントアプリケーションのコンパイル --------(d)
(a) IDLファイルをコンパイルします。
tdcコマンドを実行することで、サーバアプリケーションとクライアントアプリケーションを作成するうえで必要なファイルが生成されます。
なお、tdcコマンドはIDL定義をシステムに登録する機能も備えているため、すでにIDL定義が登録されている場合、tdcコマンドが異常終了します。その場合は、下記のオプションを指定してください。
-update
例:C言語の場合
> tdc -mc -update otssample.idl
(b) サーバアプリケーションと動作確認用プログラムをプリコンパイルします。
まず、プリコンパイル用バッチファイルを動作環境にあわせて、修正してください。以下のバッチファイルを実行すると、サーバアプリケーションはotssample_s.cob、動作確認用プログラムはrdbselect.cobが作成されます。
なお、動作確認用プログラムはrdbselect.exeも作成されます。
> ots.bat
(c) サーバアプリケーションをコンパイルします。
まず、サーバアプリケーション翻訳オプションファイルを動作環境にあわせて、修正してください。サーバアプリケーションのコンパイルはCOBOL97のプロジェクトを使用して行います。コンパイルはプロジェクトのビルドを実行することにより、サーバアプリケーションの作成に必要なファイルのコンパイル、リンクを行います。
また、IDLファイルの内容を変更した場合、再度 (a)のIDLファイルのコンパイルを実施した後、サーバアプリケーションのリコンパイルを実施する必要があります。
プロジェクトのビルドが正常に終了した場合、プロジェクトファイルと同じフォルダに、OTSSAMPLE-INTF.dllが作成されます。
(d) クライアントアプリケーションをコンパイルします。
クライアントアプリケーションのコンパイルはMicrosoft(R) Visual C++(R)のプロジェクトを使用して行います。コンパイルはプロジェクトのビルドを実行することにより、クライアントアプリケーションの作成に必要なファイルのコンパイル、リンクを行います。
また、IDLファイルの内容を変更した場合、再度(a)のIDLファイルのコンパイルを実施した後、クライアントアプリケーションのリコンパイルを実施する必要があります。
プロジェクトのビルドが正常に終了した場合、プロジェクトファイルと同じフォルダに、otssample_c.exeが作成されます。
サンプルプログラムの実行方法について説明します。
以下の記号を使用して説明します。
isinitコマンドを投入して、Interstageの動作環境をセットアップしてください。
以下の例を参考にXA連携用プログラムを作成してください。このコマンドによってXA連携用プログラム“symfoxa.dll”と“symfoxa.lib”が作成されます。
> set LIB=%LIB%;$RDB\Sfwsv\Esql\Lib
> cd $CURRENT > otsmkxapgm -s RDBII_xa_switch -r "F3cwdrv.lib F3cwxa.lib" -o $INTERSTAGE\bin\symfoxa.dll
以下の例を参考にリソース管理プログラムを作成してください。このコマンドによってリソース管理プログラム“rdbresource.exe”が作成されます。
> otslinkrsc -l $INTERSTAGE\bin\symfoxa.lib -r "F3cwdrv.lib F3cwxa.lib" -o rdbresource.exe
リソース定義ファイルを動作環境にあわせて修正してください。修正にはテキストエディタを使用してください。リソース管理プログラムの登録には、リソース定義ファイル名を指定して行います。リソース管理プログラムを起動するマシンで、以下の例を参考に必ずotssetrscコマンドで登録してください。
> otssetrsc a rf $CURRENT\rdbresource.def
以下の例を参考にSymfoware/RDB用のAPMを作成してください。このコマンドによってAPM“rdb”が作成されます。
> tdlinkapm -l $INTERSTAGE\bin\symfoxa.lib -r "F3cwdrv.lib F3cwxa.lib" -o rdb
ワークユニット定義ファイルを動作環境にあわせて修正してください。修正にはテキストエディタを使用してください。
次にワークユニットを登録します。
> isaddwudef -o otssample.wu
まず、Symfoware/RDBをセットアップし、データベースが作成できる状態にしてください。詳細はSymfoware/RDBのマニュアルを参照してください。
次にサンプルデータベース作成用バッチファイルとサンプルデータベース作成用ファイルを動作環境にあわせて修正してください。
最後に以下の例を参考にサンプルデータベースを作成します。ただし、以下の操作は、Symfoware/RDBを起動した後に操作してください。
> crtdbddl.bat
また、作成したサンプルデータベースを削除する場合は以下のコマンドを投入します。
> drpdbddl.bat
Symfoware/RDBを以下のとおり起動してください。
> rdbstart
isstartコマンドを投入して、Interstageを起動してください。
otsstartrscコマンドを投入して、リソース管理プログラムを起動してください。
> otsstartrsc -pg $CURRENT\rdbresource2.exe -n rdb_resource2
以下のとおり、ワークユニットを起動します。
> isstartwu OTSSAMPLE
以下のとおり、クライアントアプリケーションを起動します。
> otssample_c
本サンプルプログラムではクライアントアプリケーションを起動するたびにデータベースRDB1のテーブルCAR_TABLEへレコードを追加します。このためクライアントアプリケーションを起動する前後で以下の確認用アプリケーションを実行すると、動作を確認することができます。
> rdbselect
レコードの追加が確認できない場合は、“$AAA\OTSSAMPLE\pppp\stdout”(ppppはpid)ファイルを参照し、原因を取り除いてください。
目次 索引 |