名前
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コマンドのオプションを説明します。
XA連携するデータベースのxa_switch_t構造体の名前を指定します。
オプションとオプション引数は、複数指定することが可能です。省略することはできません。
Java言語を利用したサーバアプリケーション(Javaサーバ)用のXA連携用プログラムを作成します。Javaサーバ用XA連携用プログラムを作成する場合のみ指定してください。
Javaサーバ用XA連携用プログラムには、libthread.soがリンクされます。
Javaサーバ用XA連携用プログラムには、libpthread.soがリンクされます
データベースベンダが公開するライブラリを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"
注)ライブラリ情報やオブジェクト情報は、ダブルクォート(")で囲まなければなりません。ライブラリの格納パスは、シングルクォート(')で囲まなければなりません。
processが指定された場合はプロセスモードとして作成します。
threadが指定された場合はスレッドモードとして作成します。
本オプションを省略した場合はprocessとみなします。
XA連携プログラムをバックアップ対象とする場合は、本オプションを指定します。本オプションを指定した場合は、-oオプションで指定するXA連携プログラム名はファイル名のみとします。
XA連携プログラムは以下に作成されます。
Interstageインストール先\ots\var\clone
/opt/FSUNots/var/clone
/opt/FJSVots/var/clone
出力するXA連携用プログラム名を指定します。XA連携用プログラム名に指定できるパス名の最大長は255バイトです。
このオプションは、省略することはできません。
また、ファイルの拡張子を"DLL"としてください。指定したファイルの拡張子 "DLL"と"LIB"のライブラリファイルをコマンドの結果として作成します。指定は、絶対パス名でも、ファイル名でもかまいませんが、ファイル名指定の場合は、コマンド実行時のカレントフォルダに作成されます。
通常は、ファイルの拡張子を"o"としてください。また、-javaと同時に指定した場合はファイルの拡張子を"so"としてください。指定は、絶対パス名でも、ファイル名でもかまいませんが、ファイル名指定の場合は、コマンド実行時のカレントディレクトリに作成されます。
注意事項
マルチリソースアクセス機能を使用する場合のXA連携用プログラムは、サーバアプリケーションを作成するときにだけ利用可能です。
マルチリソースアクセス機能を使用するには、そのためのXA連携用プログラムと定義(ワークユニット定義およびインプリメンテーションリポジトリに対して登録するための定義情報)をしなければなりません。このとき、以下に示すようにワークユニット起動/OTSのinitメソッドが異常終了する場合があります。
XA連携用プログラム | ワークユニット定義/ | ワークユニット起動/ |
---|---|---|
1つのリソースアクセス用 | リソース定義ファイルの指定が1つ | 正常終了 |
同じリソース種別のリソース定義ファイルの指定が複数 | 正常終了 | |
異なるリソース種別のリソース定義ファイルの指定が複数 | 異常終了 | |
複数のリソースアクセス用 | リソース定義ファイルの指定が1つ | 異常終了 |
リソース定義ファイルの指定が複数 | 該当RM名があれば正常終了 |
XA連携用プログラム | ワークユニット定義/ | ワークユニット起動/ |
---|---|---|
1つのリソースアクセス用 | リソース定義ファイルの指定が1つ | 正常終了 |
リソース定義ファイルの指定が複数 | 異常終了 | |
複数のリソースアクセス用 | リソース定義ファイルの指定が複数 | 異常終了 |
リソース定義ファイルの指定が複数 | 該当RM名があれば正常終了 |
ファイルの拡張子"DLL"と"LIB"の2つのライブラリファイルを作成します。ファイルの拡張子"LIB"のファイルはotslinkrscコマンドおよびtdlinkapmコマンドの入力情報になります。また、ファイルの拡張子"DLL"のライブラリファイルは、リソース管理プログラムを運用する場合、リソース管理プログラムと同じ格納場所に配置するか、システム環境変数PATHにファイルの格納場所を設定してください。
otsmkxapgmコマンドを使用する場合、Microsoft(R) Visual Studio(R)が必要となります。
“使用上の注意”に記載されているコンパイラを使用してください。
Interstageインストール先\ots\program\rsc配下に以下のXA連携用プログラムを提供しています。これらのXA連携用プログラムを使用する範囲であれば、新たにXA連携用プログラムを作成する必要がありません。
Oracle10g用XA連携用プログラム(otsxaora10g.dll/otsxaora10g.lib)
Oracle10g用XA連携用プログラム(otsxaora10g_java.dll/otsxaora10g_java.lib)(Java言語サーバアプリケーション用)
Oracle11g用XA連携用プログラム(otsxaora11g.dll/otsxaora11g.lib)
Oracle11g用XA連携用プログラム(otsxaora11g_java.dll/otsxaora11g_java.lib)(Java言語サーバアプリケーション用)
Symfoware/RDB用XA連携用プログラム(otsxasym.dll/otsxasym.lib)
Symfoware/RDB用XA連携用プログラム(otsxasym_java.dll/otsxasym_java.lib)(Java言語サーバアプリケーション用)
Symfoware/RDB用XA連携用プログラム(otsxasym_mt.dll/otsxasym_mt.lib)(スレッドライブラリをリンク)
Symfoware/RDB用XA連携用プログラム(otsxasym_mt_java.dll/otsxasym_mt_java.lib)(スレッドライブラリをリンクしたJava言語サーバアプリケーション用)
Javaサーバアプリケーション用のXA連携用プログラムは、サーバアプリケーションを作成するときにだけ利用可能です。
otsmkxapgmコマンド実行時に、コマンドが異常終了した場合、一時作業ファイル(ファイル名:otsenvxamkpgm.c)が回収されない場合があります。この場合、以下の環境配下に作成されたフォルダと一時作業ファイルを削除してください。作成されるフォルダ名は、otsmkxapgmnnnnnn_nnです。(nnnnnn:コマンドのプロセスID、nn:任意な2けたの数値)
環境変数TMPがあればその配下
環境変数TMPがなく、TEMPがあれば、その配下
環境変数TMP、TEMPがなければ、コマンド実行時のカレントフォルダ配下
SQL Server用のXA連携用プログラムを作成する場合、コマンドを実行する前に、システム環境変数に、SQL Serverのインストールでユーザ環境変数に設定される以下の環境変数を設定してください。
PATH
INCLUDE
LIB
/opt/FSUNots/program/xa配下に以下のXA連携用プログラムを提供しています。これらのXA連携用プログラムを使用する範囲の運用であれば、新たにXA連携用プログラムを作成する必要がありません。
Oracle用XA連携用プログラム(libotsxaora.o)(プロセスモード)
Symfoware/RDB用XA連携用プログラム(libotsxasym.o)(プロセスモード)
MQD用XA連携用プログラム(libotsxamqd.o)(プロセスモード)
OracleとMQDを使用する場合のXA連携用プログラム(libotsxamqd_ora.o)(プロセスモード)
Symfoware/RDBとMQDを使用する場合のXA連携用プログラム(libotsxamqd_sym.o)(プロセスモード)
otsmkxapgmコマンドを使用する場合、Cコンパイラ(cc)が必要となります。
“使用上の注意”に記載されているコンパイラを使用してください。
/opt/FJSVots/program/xa配下に以下のXA連携用プログラムを提供しています。これらのXA連携用プログラムを使用する範囲の運用であれば、新たにXA連携用プログラムを作成する必要がありません。
Oracle用XA連携用プログラム(libotsxaora.o)(プロセスモード)
Symfoware/RDB用XA連携用プログラム(libotsxasym.o)(プロセスモード)
otsmkxapgmコマンドを使用する場合、コンパイラ(gcc)が必要となります。
“使用上の注意”に記載されているコンパイラを使用してください。
使用例
Symfoware用のXA連携用プログラム「otssymxa.dll」を作成する場合
otsmkxapgm -s RDBII_xa_switch |
Oracle用のXA連携用プログラム「otsoraxa.dll」を作成する場合
なお、Oracleのバージョンは10.2.0です。
otsmkxapgm -s xaosw |
SQL Server用のXA連携用プログラム「otsmsqlxa.dll」を作成する場合
otsmkxapgm -s msqlsrvxa1 |
Symfoware用のXA連携用プログラム(Javaサーバアプリケーション用)「otssymxaj.dll」を作成する場合
otsmkxapgm -java -s RDBII_xa_switch |
SymfowareとOracleの2つのデータベースと連携する1つのXA連携用プログラムを作成する場合(1つのアプリケーション上で2つのデータベースにアクセスする場合)
otsmkxapgm -s RDBII_xa_switch -s xaosw |
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 |
Oracle用のXA連携用プログラム「otsoraxa.o」を作成する場合
otsmkxapgm -s xaosw -o otsoraxa.o |