Interstage Application Server アプリケーション作成ガイド (データベース連携サービス編) |
目次 索引 |
付録C サンプル(C言語) |
トランザクション運用のアプリケーションについてC言語を使用したサンプルプログラムをそれぞれ以下の内容で説明します。
本サンプルによって行う運用について以下に示します。
本サンプルでは、サーバアプリケーションからSymfoware/RDBにアクセスします。
本サンプルのファイル構成を、以下に示します。
ファイルはすべて、“Interstageインストールフォルダ\td\sample\OTSC”配下に格納されています。
No |
ファイルの概要 |
ファイル名 |
---|---|---|
(1) |
IDLファイル |
otssamplec.idl |
(2) |
サーバアプリケーションソース |
otssamplec_s.ec |
(3) |
クライアントアプリケーションソース |
otssamplec_c.c |
(4) |
ワークユニット定義ファイル |
otssamplec.wu |
(5) |
リソース定義ファイル |
rdbresource2.def |
(6) |
サンプルデータベース作成用バッチファイル |
crtdbddl2.bat |
(7) |
サンプルデータベース作成用ファイル |
dbinit.dat |
(8) |
サンプルデータベース作成用ファイル |
crtdbddl2 |
(9) |
サンプルデータベース削除用バッチファイル |
drpdbddl2.bat |
(10) |
サンプルデータベース削除用ファイル |
drpdbddl2 |
(11) |
動作確認用プログラム |
rdbselect2.ec |
(12) |
プリコンパイル用バッチファイル |
otsc.bat |
(13) |
サーバアプリケーションプロジェクトファイル |
Otssamplec_s.vcproj |
(14) |
クライアントアプリケーションプロジェクトファイル |
Otssamplec_c.vcproj |
(15) |
動作確認用プログラムプロジェクトファイル |
rdbselect2.vcproj |
(16) |
ソリューションファイル |
Otsc.sln |
コンパイルの方法について説明します。
コンパイルの前の準備について説明します。
(1) Symfoware/RDBがインストールされていることを確認してください。
(2) Cコンパイラがインストールされており、かつ動作可能なことを確認してください。
(3) CORBAサービスが起動していることを確認してください。
本アプリケーションをコンパイルする手順を説明します。
なお、本アプリケーションは、Microsoft(R) Visual C++(R)のプロジェクトを使用してコンパイルすることを前提としています。
本サンプルを使用するにあたり、提供ファイルを任意のフォルダに複写し、複写先の環境にあわせて各ファイルをカストマイズすることをお勧めします。
以下の記号を使用して説明します。
> cd $CURRENT > tdc -c -mc otssamplec.idl ---------------------(a) サーバアプリケーションと動作確認用プログラム のプリコンパイル --------------------------------(b) サーバアプリケーションのコンパイル --------------(c) クライアントアプリケーションのコンパイル --------(d) 動作確認用プログラムのコンパイル ----------------(e)
(a) IDLファイルをコンパイルします。
tdcコマンドを実行することで、サーバアプリケーションとクライアントアプリケーションを作成するうえで必要なファイルが生成されます。
なお、tdcコマンドはIDL定義をシステムに登録する機能も備えているため、すでにIDL定義が登録されている場合、tdcコマンドが異常終了します。その場合は、下記のオプションを指定してください。
-update
例:C言語の場合
> tdc -mc -update otssamplec.idl
(b) サーバアプリケーションと動作確認用プログラムをプリコンパイルします。
以下のバッチファイルを実行すると、サーバアプリケーションはotssamplec_s.c、動作確認用プログラムはrdbselect2.cが作成されます。
> otsc.bat
(c) サーバアプリケーションをコンパイルします。
サーバアプリケーションのコンパイルはMicrosoft(R) Visual C++(R)のプロジェクトを使用して行います。コンパイルはプロジェクトのビルドを実行することにより、サーバアプリケーションの作成に必要なファイルのコンパイル、リンクを行います。
また、IDLファイルの内容を変更した場合、再度(a)のIDLファイルのコンパイルを実施した後、サーバアプリケーションのリコンパイルを実施する必要があります。
プロジェクトのビルドが正常に終了した場合、プロジェクトファイルと同じフォルダに、libotssamplec.dllが作成されます。
(d) クライアントアプリケーションをコンパイルします。
クライアントアプリケーションのコンパイルはMicrosoft(R) Visual C++(R)のプロジェクトを使用して行います。コンパイルはプロジェクトのビルドを実行することにより、クライアントアプリケーションの作成に必要なファイルのコンパイル、リンクを行います。
また、IDLファイルの内容を変更した場合、再度(a)のIDLファイルのコンパイルを実施した後、クライアントアプリケーションのリコンパイルを実施する必要があります。
プロジェクトのビルドが正常に終了した場合、プロジェクトファイルと同じフォルダに、otssamplec_c.exeが作成されます。
(e) 動作確認用プログラムをコンパイルします。
動作確認用プログラムのコンパイルはMicrosoft(R) Visual C++(R)のプロジェクトを使用して行います。コンパイルはプロジェクトのビルドを実行することにより、動作確認用プログラムの作成に必要なファイルのコンパイル、リンクを行います。
プロジェクトのビルドが正常に終了した場合、プロジェクトファイルと同じフォルダに、rdbselect2.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
以下の例を参考にリソース管理プログラムを作成してください。このコマンドによってリソース管理プログラム“rdbresource2.exe”が作成されます。
> otslinkrsc -l $INTERSTAGE\bin\symfoxa.lib -r "F3cwdrv.lib F3cwxa.lib" -o rdbresource2.exe
リソース定義ファイルを動作環境にあわせて修正してください。修正にはテキストエディタを使用してください。リソース管理プログラムの登録には、リソース定義ファイル名を指定して行います。リソース管理プログラムを起動するマシンで、以下の例を参考に必ずotssetrscコマンドで登録してください。
> otssetrsc -a -rf $CURRENT\rdbresource2.def
以下の例を参考にSymfoware/RDB用のAPMを作成してください。このコマンドによってAPM“rdb”が作成されます。
> tdlinkapm -l $INTERSTAGE\bin\symfoxa.lib -r "F3cwdrv.lib F3cwxa.lib" -o rdb
ワークユニット定義ファイルを動作環境にあわせて修正してください。修正にはテキストエディタを使用してください。
次にワークユニットを登録します。
> isaddwudef -o otssamplec.wu
まず、Symfoware/RDBをセットアップし、データベースが作成できる状態にしてください。詳細はSymfoware/RDBのマニュアルを参照してください。
次にサンプルデータベース作成用バッチファイルとサンプルデータベース作成用ファイルを動作環境にあわせて修正してください。
最後に以下の例を参考にサンプルデータベースを作成します。ただし、以下の操作は、Symfoware/RDBを起動した後に操作してください。
> crtdbddl2.bat
また、作成したサンプルデータベースを削除する場合は以下のコマンドを投入します。
> drpdbddl2.bat
Symfoware/RDBを以下のとおり起動してください。
> rdbstart
isstartコマンドを投入して、Interstageを起動してください。
otsstartrscコマンドを投入して、リソース管理プログラムを起動してください。
> otsstartrsc -pg $CURRENT\rdbresource2.exe -n rdb_resource2
以下のとおり、ワークユニットを起動します。
> isstartwu OTSSAMPLEC
以下のとおり、クライアントアプリケーションを起動します。
> otssamplec_c
本サンプルプログラムではクライアントアプリケーションを起動するたびにデータベースRDB2のテーブルCAR_TABLEへレコードを追加します。このためクライアントアプリケーションを起動する前後で以下の確認用アプリケーションを実行すると、動作を確認することができます。
> rdbselect2
レコードの追加が確認できない場合は、“$AAA\OTSSAMPLEC\pppp\stdout”(ppppはpid)ファイルを参照し、原因を取り除いてください。
目次 索引 |