Interstage Application Server アプリケーション作成ガイド (データベース連携サービス編) |
目次 索引 |
付録C サンプル(C言語) |
トランザクション運用のアプリケーションについてC言語を使用したサンプルプログラムをそれぞれ以下の内容で説明します。
本サンプルによって行う運用について以下に示します。
本サンプルでは、サーバアプリケーションからSymfoware/RDBにアクセスします。
本サンプルのファイル構成を、以下に示します。
ファイルはすべて、“$TD_HOME/sample/OTSC”配下に格納されています。
※$TD_HOMEは、コンポーネントトランザクションサービスのインストールディレクトリを示します。
No |
ファイルの概要 |
ファイル名 |
---|---|---|
(1) |
Makefile |
Makefile |
(2) |
IDLファイル |
otssamplec.idl |
(3) |
サーバアプリケーションソース |
otssamplec_s.ec |
(4) |
クライアントアプリケーションソース |
otssamplec_c.c |
(5) |
ワークユニット定義ファイル |
otssamplec.wu |
(6) |
リソース定義ファイル |
rdbresource2.def |
(7) |
サンプルデータベース作成用ファイル |
crtdbddl2 |
(8) |
動作確認用プログラム |
rdbselect2.ec |
コンパイルの方法について説明します。
コンパイルの前の準備について説明します。
(1) Symfoware/RDBがインストールされていることを確認してください。
(2) Cコンパイラがインストールされており、かつ動作可能なことを確認してください。
(3) 環境にあわせてMakefileを修正します。
(4) 以下の例に従って環境変数を設定してください。
- OD_HOMEを設定します。
CORBAサービスのインストール先ディレクトリを設定します。以下の例のように設定します。
(設定例)
%setenv OD_HOME /opt/FSUNod <RETURN>
- OTS_HOMEを設定します。
データベース連携サービスのインストール先ディレクトリを設定します。以下の例のように設定します。
(設定例)
%setenv OTS_HOME /opt/FSUNots <RETURN>
- TD_HOMEを設定します。
コンポーネントトランザクションサービスのインストール先ディレクトリを設定します。
以下の例のように設定します。
(設定例)
%setenv TD_HOME /opt/FSUNtd <RETURN>
(5) CORBAサービスが起動していることを確認してください。
アプリケーションをコンパイルする手順を説明します。説明には、以下の記号を使用します。
“%”は、一般ユーザ時のプロンプトを示します。また、“#”はスーパユーザでのプロンプトを示します。
$CURRENTは、本サンプルファイルが存在するディレクトリを示します。
(1) makeコマンドを実行し、コンパイルを行います。
%cd /$CURRENT %make
makeが失敗する場合には、以下のコマンドを実行してください。
%make remake
(2) (1)が失敗する場合は、コンパイルの準備作業を確認してください。
サンプルプログラムの実行方法について説明します。
isinitコマンドを投入して、Interstageの動作環境をセットアップしてください。
Symfoware/RDB用のリソース管理プログラムを、データベース連携サービスのインストールディレクトリ配下の/program/rsc/fjotsrsc_symfoとして提供していますので、それを使用してください。それ以外の場合に作成する必要がある場合は、以下の例を参考にリソース管理プログラムを作成してください。このコマンドによってリソース管理プログラム“rdbresource2”が作成されます。
% cd $CURRENT % otslinkrsc -l $OTS_HOME/lib/libotsxasym.o -r "-L/$RDBOPT/FSUNrdb2b/lib -lsqldrv -lrdbxa" -o rdbresource2
※ $OTS_HOMEは、データベース連携サービスのインストールディレクトリです。
※ $RDBOPTは、Symfoware/RDBのインストールディレクトリです。
サンプルのリソース定義ファイルを参照し、動作環境にあわせて修正してください。修正にはテキストエディタを使用してください。リソース管理プログラムの登録には、リソース定義ファイル名を指定して行います。リソース管理プログラムを起動するマシンで、必ずotssetrscコマンドで登録してください。
修正したリソース定義ファイルは、リソース環境定義ディレクトリに格納してください。
以下の例を参考にSymfoware/RDB用のAPMを作成してください。このコマンドによってAPM“rdb”が作成されます。
# tdlinkapm -l $OTS_HOME/lib/libotsxasym.o -r "-L/$RDBOPT/FSUNrdb2b/lib -lsqldrv -lrdbxa" -o rdb
※ $OTS_HOMEは、データベース連携サービスのインストールディレクトリです。
※ $RDBOPTは、Symfoware/RDBのインストールディレクトリです。
サンプルのワークユニット定義ファイルを参照し、動作環境にあわせて修正してください。修正にはテキストエディタを使用してください。
修正したワークユニット定義ファイルは、ワークユニット定義ディレクトリに格納してください。
次にワークユニットを登録します。
%isaddwudef otssamplec.wu
まず、Symfoware/RDBをセットアップし、データベースが作成できる状態にしてください。詳細はSymfoware/RDBのマニュアルを参照してください。
次にサンプルとして準備されているサンプルデータベース作成用ファイルを参照し、動作環境にあわせて修正してください。また、データベーススペース用のローデバイスを用意してください。
最後に以下の例を参考にサンプルデータベースを作成します。ただし、以下の操作は、Symfoware/RDBを起動した後に操作してください。
rdbddlexおよびrdbfmtの詳細は、Symfoware/RDBのマニュアルを参照してください。
#rdbddlex crtdbddl2 #rdbfmt -mi -i RDB2.DSICAR
Symfoware/RDBを以下のとおり起動してください。
#rdbstart
isstartコマンドを投入して、Interstageを起動してください。
otsstartrscコマンドを投入して、リソース管理プログラムを起動してください。起動は、スーパユーザの権限で実行してください。
以下のとおりリソース管理プログラムを起動します。
# otsstartrsc -pg $TD_HOME/sample/otsc/rdbresouce2 -n rdbresouce2
以下のとおり、ワークユニットを起動します。
%isstartwu OTSSAMPLEC
以下のとおり、クライアントアプリケーションを起動します。
%otssamplec_c
本サンプルプログラムではクライアントアプリケーションを起動するたびにデータベースRDB2のテーブルCAR_TABLEへレコードを追加します。このためクライアントアプリケーションを起動する前後で以下の確認用アプリケーションを実行すると、動作を確認することができます。
%rdbselect2
レコードの追加が確認できない場合は、“/tmp/OTSSAMPLEC/pppp/stdout”(ppppはpid)ファイルを参照し、原因を取り除いてください。
目次 索引 |