サンプルプログラムの実行手順を以下に示します。
XA連携用プログラムおよびリソース管理プログラムを作成します。
otsmkxapgmコマンドで、XA連携用プログラムを作成します。また、otslinkrscコマンドで、リソース管理プログラムを作成します。
標準的なOracle用のXA連携用プログラムおよびリソース管理プログラムが以下に提供されています。必要に応じて使用してください。
Oracle12c用XA連携用プログラム「C:\Interstage\ots\program\rsc\otsxaora12c.dll」、「C:\Interstage\ots\program\rsc\otsxaora12c.lib」
Oracle12c用のリソース管理プログラム「C:\Interstage\ots\program\rsc\fjotsrsc_ora12c.exe」
Oracle11g用XA連携用プログラム「C:\Interstage\ots\program\rsc\otsxaora11g.dll」、「C:\Interstage\ots\program\rsc\otsxaora11g.lib」
Oracle11g用のリソース管理プログラム「C:\Interstage\ots\program\rsc\fjotsrsc_ora11g.exe」
上記のファイルを使用しない場合は、XA連携用プログラムとリソース管理プログラムを作成するためのバッチファイル「C:\Interstage\ots\src\samples\env\oralinkrsc.bat」が提供されています。使用するリソースマネージャ用に修正後、oralinkrsc.batを実行してください。バッチファイル内のNANE="name.exe"に、リソース管理プログラムの名前を設定します(例: NAME="run_rsc.exe")。
[実行例]
oralinkrsc <RETURN>
アプリケーションを作成します。
Makefile用バッチファイルで、サーバアプリケーションおよびクライアントアプリケーションをコンパイルします。コンパイル時は、CORBAサービスおよびインタフェースリポジトリが起動されている必要があります。
[実行例]
make <RETURN>
makeを実行すると、以下が作成されます。
bankA_s
bankA_c
CORBAサービスのインプリメンテーションリポジトリにサーバアプリケーション(bankA_s)を登録します。
インプリメンテーションリポジトリへ登録するには、登録する内容を定義ファイル(テキストエディタ)として作成する必要があります。
定義ファイルの設定例を以下に示します。
rep_idには、サーバアプリケーションのインプリメンテーションリポジトリIDを指定します。dataには、「RESOURCE:」のあとにリソース定義名を指定します。
[定義ファイルの設定例]
rep_id = IDL:bankA/accountA:1.0 type = persistent proc_conc_max = 32 thr_conc_init = 1 uid = 0 gid = 3 mode = SYNC_END data = "RESOURCE:resource1"
上記の定義ファイル名を指定してOD_impl_instコマンドを実行します。
[実行例]
OD_impl_inst -ax deffile <RETURN>
deffile:定義ファイル名
CORBAサービスのネーミングサービスにサーバアプリケーション(bankA_s)を登録します。
[実行例]
OD_or_adm -c IDL:bankA/accountA:1.0 -n bankA::accountA <RETURN>
テキストエディタで、リソース定義ファイルを作成します。
OPENINFOには、データベースのユーザ名、パスワードを指定します(例:orauser/dbuser など)。NAMEには、インプリメンテーションリポジトリへの登録時、data行に指定した「RESOURCE:」のあとの名前を記述します。
[設定例]
ENVIRON ORACLE_SID=ORCL NAME=resource1 RMNAME=Oracle_XA OPENINFO=Oracle_XA+Acc=P/orauser/dbuser+SesTm=0 CLOSEINFO=
otssetrscコマンドで、CORBAサービスのインプリメンテーションリポジトリにリソース管理プログラムを登録します。
[実行例]
otssetrsc -a -rf c:\user\ots\rsc\run_rscdef <RETURN>
-rfオプション:リソース定義ファイル名(フルパス)
sqlplusコマンドで、データベースにテーブルを作成します。
テーブル作成のバッチファイル「C:\Interstage\ots\src\samples\simple\c\a_account.sql」を使用して作成する例を示します。本操作は、データベース管理者のユーザ権限で行う必要があります。
[実行例]
sqlplus orauser/dbuser @a_account.sql <RETURN>
sqlplusコマンドで作成されたテーブルの内容を確認します。
[実行例]
sqlplus orauser/dbuser <RETURN> SQL> select * from a_account; <RETURN> ACCOUNTNO NAME BALANCE ---------- ---------- ---------- 1 SEAN 11111 2 LEHR 22222 3 JUDITH 33333 4 FRANCIS 44444 5 ALASTAIR 55555 6 AREX 66666 7 MOIRA 77777
OTSシステム、リソース管理プログラム、およびサーバアプリケーションを起動します。
[実行例]
otsstart <RETURN> otsstartrsc -pg C:\user\ots\rsc\run_rsc.exe -n resource1 <RETURN> bankA_s <RETURN>
クライアントアプリケーションを起動します。
[実行例]
bankA_c <RETURN>
クライアントアプリケーションから入力が促されるので、実行します。
Start program ? Yes(y) No(n) y <RETURN> ----- What's request number ----- 1:begin 2:commit 3:rollback 4:rollback_only 5:get_status 6:get_transaction_name 7:settimeout 8:Call ServerApplication 0:exit 1 <RETURN> [1を入力すると、beginが実行されます。] 8 <RETURN> [8を入力すると、サーバのメソッドが実行されます。] ** ServerApplication ** Please input account number 5 <RETURN> [番号を入力します。] How much do you deposit ? 200000 <RETURN>[番号5の人に給与を入力します。] 2 <RETURN> [2を入力すると、commitが実行されます。] 0 <RETURN> [クライアントアプリケーションを終了します。]