サンプルプログラムの実行手順を以下に示します。
環境変数を設定します。
環境変数CLASSPATHに、以下の情報を設定します。
カレントフォルダ
otscurrentsv_java2.jarの絶対パス
otsserver_java2.jarの絶対パス
ODjava4.jarの絶対パス
環境変数PATHに、JDKの実行ファイルパスを設定します。
JavaサーバアプリケーションのXA連携用プログラムを作成します。
「C:\Interstage\ots\program\rsc」配下に、Oracleと連携するJavaサーバアプリケーション用の標準的なXA連携用プログラムが提供されています。必要に応じて使用してください。
XA連携用プログラム作成時は、makeを実行するカレントフォルダでotsmkxapgmコマンドを実行します。
[実行例]
otsmkxapgm -s xaosw -java -r"/libpath:'C:\oracle\product\10.2.0\db_1\RDBMS\XA' oraxa10.lib" -o otsxaora10g_java.dll<RETURN>
Makefile、およびMake.batを修正します。
Makefileに指定されたソフトウエア製品のインストール先を修正します。
[設定例]
OD_HOME = C:\Interstage\ODWIN OTS_HOME = C:\Interstage\ots ORACLE_HOME = C:\oracle\product\10.2.0\db_1 JDK = C:\Interstage\jdk6
Make.batに指定したnmakeコマンドの格納先を、以下の製品のインストール先に修正します。
Microsoft(R) Visual C++(R)
Microsoft Platform SDK
[設定例]
"(上記製品のインストール先)\Bin\nmake" -f makefile
アプリケーションを作成します。
Make.batファイルで、サーバアプリケーションおよびクライアントアプリケーションをコンパイルします。Make.batファイル実行時は、CORBAサービスおよびインタフェースリポジトリが起動されている必要があります。
[実行例]
Make <RETURN>
Make.batファイルの処理が完了すると、カレントフォルダ配下に以下のフォルダおよびファイルが作成されます。
bankA\accountAPOA.java
bankA\accountAPOATie.java
bankA\_accountAStub.java
bankA\accountA.java
bankA\accountAHelper.java
bankA\accountAHolder.java
bankA\accountAOperations.java
[Windows(R)クライアントでクライアントプログラムを動作させる場合]
Windows(R)クライアントに、ネットワークコンピュータなどで以下のJavaソースを複写します。
bankA_c.java
bankA\accountAPOA.java
bankA\accountAPOATie.java
bankA\_accountAStub.java
bankA\accountA.java
bankA\accountAHelper.java
bankA\accountAHolder.java
bankA\accountAOperations.java
[Windows(R)クライアントでクライアントプログラムを動作させる場合]
Windows(R)クライアントの環境変数CLASSPATHに、以下を設定します。
カレントディレクトリ
otscurrent_java2.jarの絶対パス
ODjava4.jar
Windows(R)クライアントの環境変数PATHに、以下のデータベース連携サービスのライブラリが格納されている絶対パスを設定します。
otscurrent_java.dll
[Windows(R)クライアントでクライアントプログラムを動作させる場合]
クライアントアプリケーションの動作環境において、javacコンパイラでサーバマシンからクライアントマシンに複写したJavaソースをコンパイルします。
Windows(R)クライアントでのコンパイル例を以下に示します。コンパイルは、コマンドプロンプトから実行します。
[実行例]
javac -d . bankA\*.java <RETURN> javac bankA_c.java <RETURN>
CORBAサービスのインプリメンテーションリポジトリにサーバアプリケーション(bankA_s)を登録します。
インプリメンテーションリポジトリへ登録するには、登録する内容を定義ファイル(テキストエディタ)として作成する必要があります。
定義ファイルの設定例を以下に示します。
rep_idには、サーバアプリのインプリメンテーションリポジトリIDを指定します。dataには、「RESOURCE:」のあとにリソース定義名を指定します。
[定義ファイル設定例]
rep_id = IDL:bankA/accountA:1.0 type = persistent mode = SYNC_END proc_conc_max = 8 thr_conc_init = 1 ior = 1.1 locale = UNICODE 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>
otslinkrscコマンドで、リソース管理プログラムを作成します。
標準的なOracle用リソース管理プログラムが以下に提供されています。必要に応じて使用してください。
Oracle10g用のリソース管理プログラム「C:\Interstage\ots\program\rsc\fjotsrsc_ora10g.exe」
Oracle11g用のリソース管理プログラム「C:\Interstage\ots\program\rsc\fjotsrsc_ora11g.exe」
上記のファイルを使用しない場合は、リソース管理プログラムを作成するためのシェル「C:\Interstage\ots\src\samples\env\oralinkrsc.bat」が提供されています。使用するリソースマネージャ用に修正後、oralinkrsc.batを実行してください。バッチファイル内のNANE="name"に、リソース管理プログラムの名前を設定します(例:NAME="fjotsrsc.exe")。
[実行例]
oralinkrsc <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\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> exec-SV2 <RETURN>
otsstart <RETURN> otsstartrsc -pg C:\user\ots\rsc\fjotsrsc.exe -n resource1 <RETURN> exec-SV <RETURN>
クライアントアプリケーションを起動します。
[実行例]
exec-CL2 <RETURN>
exec-CL <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 employee number 5 <RETURN> [番号を入力します。] How much do you deposit ? 200000 <RETURN>[番号5の社員に給与を入力します。] 2 <RETURN> [2を入力する、とcommitが実行されます。] 0 <RETURN> [クライアントアプリケーションが終了します。]