Solarisのトランザクション運用のサンプルプログラムの使用方法について、それぞれ以下の内容で説明します。
サンプルプログラムの概要
サンプルプログラムのコンパイル
サンプルプログラムの実行
■サンプルプログラムの概要
本サンプルによって行う運用について以下に示します。
本サンプルでは、サーバアプリケーションから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 |
本アプリケーションのバイナリファイルを生成するためのMakefileです。環境に応じて一部修正する必要があります。
本サンプルで使用するIDLファイルです。
Symfoware/RDBにアクセスするサーバアプリケーションです。本ソースはC言語で記述されています。
トランザクション制御を行うクライアントアプリケーションです。本ソースはC言語で記述されています。
ワークユニット定義を行うための入力ファイルです。環境に応じて一部修正する必要があります。
Symfoware/RDBを使用するためのリソース定義ファイルです。環境に応じて一部修正する必要があります。
サンプル用のデータベースを作成するためのファイルです。環境に応じて一部修正する必要があります。
サンプルアプリケーションが正しく動作するか確認するためのプログラムです。
注意
本サンプルプログラムのほとんどは、そのままではコンパイルができません。各項の説明を確認し、使用している環境に応じて一部を修正する必要があります。
本サンプルプログラムの実行環境、および開発環境(コンパイル環境)は、事前に整えておく必要があります。
■サンプルプログラムのコンパイル
コンパイルの方法について説明します。
コンパイルの前の準備について説明します。
Symfoware/RDBがインストールされていることを確認します。
Cコンパイラがインストールされており、かつ動作可能なことを確認します。
環境に応じてMakefileを修正します。
以下の例に従って環境変数を設定します。
- 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ファイル)を参照し、原因を取り除いてください。