ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server リファレンスマニュアル(コマンド編)

26.3 otsmkxapgm

名前

  otsmkxapgm  -  XA連携用プログラムの作成

形式


otsmkxapgm [-java] | [-t {process|thread}] -s switch_name... -r "library" [-c] -o name


otsmkxapgm [-java -r "library"] | [-t {process|thread}] -s switch_name... [-c] -o name

機能説明


  otsmkxapgmコマンドは、サーバアプリケーションがデータベースとのXA連携を可能にするためのプログラムをライブラリファイルとして2つ作成します。


  otsmkxapgmコマンドは、対象となるデータベースのxa_switch_t構造体の名前と出力ファイル名を入力します。またデータベースベンダが公開するライブラリも指定します。Java言語のサーバアプリケーション用にXA連携プログラムを作成する場合は、-javaオプションを指定してください。

  なお、当コマンドを実行するとMicrosoft(R) Visual Studio(R)のコンパイルコマンドとリンクコマンドが動作します。


  otsmkxapgmコマンドは、サーバアプリケーションがデータベースとのXA連携を可能にするためのプログラムをオブジェクトファイルとして作成します。
  otsmkxapgmコマンドは、対象となるデータベースのxa_switch_t構造体の名前と出力ファイル名を入力します。
  マルチリソース連携用のXA連携用プログラムを作成する場合は、xa_switch_t構造体名を連携する分指定します。

  以下に、otsmkxapgmコマンドのオプションを説明します。

-s

  XA連携するデータベースのxa_switch_t構造体の名前を指定します。
  オプションとオプション引数は、複数指定することが可能です。省略することはできません。

-java

  Java言語を利用したサーバアプリケーション(Javaサーバ)用のXA連携用プログラムを作成します。Javaサーバ用XA連携用プログラムを作成する場合のみ指定してください。


  Javaサーバ用XA連携用プログラムには、libthread.soがリンクされます。


  Javaサーバ用XA連携用プログラムには、libpthread.soがリンクされます

-r


  データベースベンダが公開するライブラリを1024バイト以内で指定します。省略することはできません。
  以下の規約でコマンドを指定してください。なお、マルチリソース用のXA連携用プログラムを作成する場合は、以下の規約で指定した情報を、空白文字を区切り文字として複数指定します。ただし、SQL Serverの場合は、オブジェクトファイル名を指定するだけです。

  -r“/libpath:'librarypathname'□/libpath:'librarypathname'… libraryname…”

  □:空白文字
  librarypathname: ライブラリ格納パス
  librarypath:  各データベースベンダが公開するライブラリ名

Symfoware/RDB:
  "/libpath:'ライブラリの格納パス' F3CWXA.LIB F3CWDRV.LIB"

Oracle 10g 系:
  "/libpath:'ライブラリの格納パス' ORAXA10.LIB"

Oracle 11g 系:
  "/libpath:'ライブラリの格納パス' ORAXA11.LIB"

SQL Server:
  "XASWITCH.LIB"

注)ライブラリ情報やオブジェクト情報は、ダブルクォート(")で囲まなければなりません。ライブラリの格納パスは、シングルクォート(')で囲まなければなりません。


  データベースベンダが公開するライブラリを2048バイト以内で指定します。
  以下の規約でコマンドを指定してください。

Symfoware/RDB:
  "-L'ライブラリの格納パス' -lrdbxa -lsqldrv"

Oracle:
  "-L'ライブラリの格納パス' -lclntsh"

注)ライブラリ情報やオブジェクト情報は、ダブルクォート(")で囲まなければなりません。ライブラリの格納パスは、シングルクォート(')で囲まなければなりません。

-t {process|thread}

  processが指定された場合はプロセスモードとして作成します。
  threadが指定された場合はスレッドモードとして作成します。
  本オプションを省略した場合はprocessとみなします。

-c

  XA連携プログラムをバックアップ対象とする場合は、本オプションを指定します。本オプションを指定した場合は、-oオプションで指定するXA連携プログラム名はファイル名のみとします。
  XA連携プログラムは以下に作成されます。

  Interstageインストール先\ots\var\clone

  /opt/FSUNots/var/clone

  /opt/FJSVots/var/clone

-o

  出力するXA連携用プログラム名を指定します。XA連携用プログラム名に指定できるパス名の最大長は255バイトです。
  このオプションは、省略することはできません。


  また、ファイルの拡張子を"DLL"としてください。指定したファイルの拡張子 "DLL"と"LIB"のライブラリファイルをコマンドの結果として作成します。指定は、絶対パス名でも、ファイル名でもかまいませんが、ファイル名指定の場合は、コマンド実行時のカレントフォルダに作成されます。


  通常は、ファイルの拡張子を"o"としてください。また、-javaと同時に指定した場合はファイルの拡張子を"so"としてください。指定は、絶対パス名でも、ファイル名でもかまいませんが、ファイル名指定の場合は、コマンド実行時のカレントディレクトリに作成されます。

注意事項

使用例

  Symfoware用のXA連携用プログラム「otssymxa.dll」を作成する場合

  otsmkxapgm -s RDBII_xa_switch
    -r "/libpath:'c:\SFWSV\ESQL\LIB'F3CWXA.LIB F3CWDRV.LIB"
    -o D:\temp\ots\otssymxa.dll

  Oracle用のXA連携用プログラム「otsoraxa.dll」を作成する場合
  なお、Oracleのバージョンは10.2.0です。

  otsmkxapgm -s xaosw
    -r "/libpath:'C:\oracle\product\10.2.0\db_1\RDBMS\XA' ORAXA10.LIB "
    -o D:\temp\ots\otsoraxa.dll

  SQL Server用のXA連携用プログラム「otsmsqlxa.dll」を作成する場合

  otsmkxapgm -s msqlsrvxa1
    -r "XASWITCH.OBJ"
    -o D:\temp\ots\otsmsqlxa.dll

  Symfoware用のXA連携用プログラム(Javaサーバアプリケーション用)「otssymxaj.dll」を作成する場合

  otsmkxapgm -java -s RDBII_xa_switch
    -r "/libpath:'C:\SFWSV\ESQL\LIB' F3CWXA.LIB F3CWDRV.LIB"
    -o D:\temp\ots\otssymxaj.dll

  SymfowareとOracleの2つのデータベースと連携する1つのXA連携用プログラムを作成する場合(1つのアプリケーション上で2つのデータベースにアクセスする場合)

  otsmkxapgm -s RDBII_xa_switch -s xaosw
    -r "/libpath:'C:\SFWSV\ESQL\LIB'
      /libpath:''C:\oracle\product\10.2.0\db_1\RDBMS\XA' F3CWXA.LIB F3CWDRV.LIB ORAXA10.LIB"
    -o D:\temp\ots\otsmultixa.dll


  Symfoware用のXA連携用プログラム「otssymxa.o」をスレッドモードで作成する場合

  otsmkxapgm -t thread -s RDBII_xa_switch -o otssymxa.o

  SymfowareとOracleの2つのデータベースと連携する1つのXA連携用プログラム「otsmultixa.o」を作成する場合(1つのアプリケーション上で2つのデータベースにアクセスする場合)

  otsmkxapgm -s RDBII_xa_switch -s xaosw -o otsmultixa.o

  Symfoware用のXA連携用プログラム(Javaサーバアプリケーション用)「libsymxaj.o」を作成する場合。環境変数RDB2LIBにはSymfoware/RDBのライブラリディレクトリを指定する必要があります。

  otsmkxapgm -java -r ”-L$(RDB2LIB) -lrdbxa -lsqldrv” -s RDBII_xa_switch
              -o libsymxaj.so


  Oracle用のXA連携用プログラム「otsoraxa.o」を作成する場合

  otsmkxapgm -s xaosw -o otsoraxa.o