ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(データベース連携サービス編)
Interstage

F.1.2 実行手順

サンプルプログラムの実行手順を以下に示します。

  1. COBOL登録集の格納場所を設定します。
    [設定例]

    set CORBA=OD_HOME\include\COBOL <RETURN>
    set COSTRANSACTIONS=OTS_HOME\include\COBOL <RETURN>

    OD_HOME:C:\Interstage\ODWIN

    OTS_HOME:C:\Interstage\ots


  2. アプリケーションを作成します。
    サーバ用のMakefile用バッチファイルでサーバアプリケーションを、クライアント用のMakefile用バッチファイルでクライアントアプリケーションをコンパイルします。コンパイル時は、CORBAサービスおよびインタフェースリポジトリが起動されている必要があります。
    [実行例]

    make <RETURN>

    注意

    COBOLアプリケーションを、プリコンパイラを使用してコンパイルする場合、Pro*COBOL1.8.27以降を使用してください。

    makeを実行すると、以下が作成されます。

    • SERVER-MAIN.exe

    • BANKA-ACCOUNTA.dll


  3. CORBAサービスのインプリメンテーションリポジトリにサーバアプリケーション(SERVER-MAIN.exe)を登録します。
    インプリメンテーションリポジトリへ登録するには、登録する内容を定義ファイル(テキストエディタ)として作成する必要があります。
    定義ファイルの設定例を以下に示します。
    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
    IDL:bankA/accountA:1.0  = BANKA-ACCOUNTA.dll
    data                    = "RESOURCE:resource1"

    上記の定義ファイル名を指定してOD_impl_instコマンドを実行します。
    [実行例]

    OD_impl_inst -ax  deffile <RETURN>

    deffile:定義ファイル名


  4. CORBAサービスのネーミングサービスにサーバアプリケーション(SERVER-MAIN.exe)を登録します。
    [実行例]

    OD_or_adm -c  IDL:bankA/accountA:1.0 -n bankA::accountA <RETURN>

  5. XA連携用プログラムおよびリソース管理プログラムを作成します。
    otsmkxapgmコマンドで、XA連携用プログラムを作成します。otslinkrscコマンドで、リソース管理プログラムを作成します。
    標準的なOracle用のXA連携用プログラムおよびリソース管理プログラムが以下に提供されています。必要に応じて使用してください。

    • Oracle10g用XA連携用プログラム「C:\Interstage\ots\program\rsc\otsxaora10g.dll」、「C:\Interstage\ots\program\rsc\otsxaora10g.lib」

    • Oracle10g用のリソース管理プログラム「C:\Interstage\ots\program\rsc\fjotsrsc_ora10g.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>

  6. テキストエディタで、リソース定義ファイルを作成します。
    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=

  7. otssetrscコマンドで、CORBAサービスのインプリメンテーションリポジトリにリソース管理プログラムを登録します。
    [実行例]

    otssetrsc -a -rf C:\user\ots\rsc\run_rscdef <RETURN>

    -rfオプション:リソース定義ファイル名(フルパス)


  8. 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

  9. OTSシステム、リソース管理プログラム、およびサーバアプリケーションを起動します。
    [実行例]

    otsstart   <RETURN>
    otsstartrsc -pg C:\user\ots\rsc\run_rsc.exe -n resource1  <RETURN>
    bankA_s  <RETURN>

  10. クライアントアプリケーションを起動します。
    [実行例]

    bankA_c <RETURN>

  11. クライアントアプリケーションから入力が促されるので、実行します。

    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>     [クライアントアプリケーションを終了します。]