Windows(R)のトランザクション運用のサンプルプログラムの使用方法について、それぞれ以下の内容で説明します。
サンプルプログラムの概要
サンプルプログラムのコンパイル
サンプルプログラムの実行
■サンプルプログラムの概要
本サンプルによって行う運用について以下に示します。
本サンプルでは、サーバアプリケーションからSymfoware/RDBにアクセスします。
本サンプルのファイル構成を以下に示します。
ファイルは、「C:\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 |
本サンプルで使用するIDLファイルです。
Symfoware/RDBにアクセスするサーバアプリケーションです。本ソースはC言語で記述されています。
トランザクション制御を行うクライアントアプリケーションです。本ソースはC言語で記述されています。
ワークユニット定義を行うための入力ファイルです。環境に応じて一部修正する必要があります。
Symfoware/RDBを使用するためのリソース定義ファイルです。環境に応じて一部修正する必要があります。
サンプル用のデータベースを作成するためのバッチファイルです。環境に応じて一部修正する必要があります。
サンプル用のデータベースを作成するためのファイルです。
サンプル用のデータベースを作成するためのファイルです。環境に応じて一部修正する必要があります。
サンプル用のデータベースを削除するためのバッチファイルです。
サンプル用のデータベースを削除するためのファイルです。
サンプルアプリケーションが正しく動作するか確認するためのプログラムです。
サーバアプリケーションと動作確認用プログラムをプリコンパイルします。
Microsoft(R) Visual C++(R)上でサーバアプリケーションをコンパイルするためのプロジェクトファイルです。
Microsoft(R) Visual C++(R)上でクライアントアプリケーションをコンパイルするためのプロジェクトファイルです。
Microsoft(R) Visual C++(R)上で動作確認用プログラムをコンパイルするためのプロジェクトファイルです。
Microsoft(R) Visual C++(R)上でプロジェクト構成を管理するためのファイルです。
注意
本サンプルプログラムのほとんどは、そのままではコンパイルができません。各項の説明を確認し、使用している環境に応じて一部を修正する必要があります。
本サンプルプログラムの実行環境、および開発環境(コンパイル環境)は、事前に整えておく必要があります。
■サンプルプログラムのコンパイル
コンパイルの方法について説明します。
コンパイルの前の準備について説明します。
Symfoware/RDBがインストールされていることを確認します。
Cコンパイラがインストールされており、かつ動作可能なことを確認します。
CORBAサービスが起動していることを確認します。
注意
Microsoft(R) Visual C++(R)でコンパイルする場合、以下の点に注意してください。
本サンプルプログラムのプロジェクトファイルは、InterstageをC:\配下にインストールした状態を想定して提供しているため、他のフォルダにインストールした場合は、FileViewのLibrary Filesを変更する必要があります。
参照するインクルードファイルの追加
ツール(T)-オプション(O)のディレクトリを選択し、表示するディレクトリ(S):インクルードファイルに標準設定されているフォルダに加え、以下のフォルダを追加しておく必要があります。
C:\Interstage\ots\include
C:\Interstage\odwin\include
C:\Interstage\extp\include
C:\Interstage\td\include
本アプリケーションをコンパイルする手順を説明します。
なお、本アプリケーションは、Microsoft(R) Visual C++(R)のプロジェクトを使用してコンパイルすることを前提としています。
本サンプルを使用するにあたり、提供ファイルを任意のフォルダに複写し、複写先の環境に応じて各ファイルをカストマイズすることをお勧めします。
以下の記号を使用して説明します。
$CURRENTは、本アプリケーションで使用するファイルが存在するフォルダを示します。
サーバアプリケーションのコンパイルはプロジェクトを使用して実施します。
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が作成されます。
■サンプルプログラムの実行
サンプルプログラムの実行方法について説明します。
以下の記号を使用して説明します。
$CURRENTは、本アプリケーションで使用するファイルが存在するフォルダを示します。
$INTERSTAGEは、Interstageインストールフォルダを示します。
$RDBは、Symfoware/RDBのインストールフォルダを示します。
$AAAは、ワークユニット定義ファイルのControl OptionセクションのCurrent Directory に指定したフォルダを示します。
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ファイル)を参照し、原因を取り除いてください。