XA連携用プログラムは、データベースとXAインタフェースで連携するためのプログラムです。
ポイント
JTSを利用する場合、XA連携プログラムを作成する必要はありません。
XA連携用プログラムは、otsmkxapgmコマンドを使用してリソースの種別ごとに作成しますが、1つのサーバアプリケーションから複数のリソースへアクセスするような場合は、リソースごとのxa_switch_t構造体の名前を指定して1つのXA連携用プログラムを作成する必要があります。この複数のリソースアクセス用に作成したXA連携用プログラムは、サーバアプリケーション作成時にリンクするために必要となりますが、リソース管理プログラム作成時は使用できません。リソース管理プログラム用には、個々にXA連携用プログラムを準備してください。xa_switch_t構造体の詳細な情報については、データベースのマニュアルを参照してください。また、otsmkxapgmコマンドの詳細については、「リファレンスマニュアル(コマンド編)」の「アプリケーション開発コマンド」-「otsmkxapgm」を参照してください。
データベース連携サービスでは、以下の標準的なXA連携用プログラムを提供しています。
使用用途 | 言語 | ファイル名 | 格納パス |
---|---|---|---|
Oracle11gにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 | C/C++/COBOL | otsxaora11g.dll | C:\Interstage\ots\program\rsc(注) |
otsxaora11g.lib | |||
Oracle10gにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 | otsxaora10g.dll | ||
otsxaora10g.lib | |||
Symfoware/RDB(プロセスモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 | C/COBOL | otsxasym.dll | |
otsxasym.lib | |||
Symfoware/RDB(スレッドモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 | otsxasym_mt.dll | ||
otsxasym_mt.lib | |||
| C/C++/COBOL | otsxamqd.dll | |
otsxamqd.lib | |||
| otsxamqd_ora11g.dll | ||
otsxamqd_ora11g.lib | |||
| otsxamqd_ora10g.dll | ||
otsxamqd_ora10g.lib | |||
| C/COBOL | otsxamqd_sym.dll | |
otsxamqd_sym.lib | |||
| otsxamqd_sym_mt.dll | ||
otsxamqd_sym_mt.lib | |||
Oracle11gにアクセスするサーバアプリケーションの運用環境用 | Java | otsxaora11g_java.dll | |
otsxaora11g_java.lib | |||
Oracle10gにアクセスするサーバアプリケーションの運用環境用 | otsxaora10g_java.dll | ||
otsxaora10g_java.lib | |||
Symfoware/RDB(プロセスモード)にアクセスするサーバアプリケーションの運用環境用 | otsxasym_java.dll | ||
otsxasym_java.lib | |||
Symfoware/RDB(スレッドモード)にアクセスするサーバアプリケーションの運用環境用 | otsxasym_mt_java.dll | ||
otsxasym_mt_java.lib |
注)本製品のインストールパスがデフォルトの場合のパスです。
このXA連携用プログラムは、多重で動作しませんが、スレッドモードで作成できます。スレッドモードのXA連携用プログラムは、データベースベンダ提供のライブラリのうち、スレッド用ライブラリを使用したものを示します。このスレッドモードのXA連携用プログラムを作成する場合、otsmkxapgmコマンド実行時に、タイプとしてスレッドモードを指定します。省略時は、プロセスモードのXA連携用プログラムを作成します。サーバのCORBAアプリケーションをスレッドモードで動作させる場合、すなわちユーザアプリケーションでもスレッド用のデータベースライブラリを使用する場合、XA連携用プログラムもスレッドモードとして作成する必要があります。xa_switch_t構造体の詳細な情報については、データベースのマニュアルを参照してください。また、otsmkxapgmコマンドの詳細については、「リファレンスマニュアル(コマンド編)」の「アプリケーション開発コマンド」-「otsmkxapgm」を参照してください。
データベース連携サービスでは、以下の標準的なXA連携用プログラムを提供しています。
使用用途 | 言語 | ファイル名 | 格納パス |
---|---|---|---|
Oracleにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 | C/C++/COBOL | libotsxaora.o | /opt/FSUNots/program/xa(注1) |
Symfoware/RDB(プロセスモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 | C/COBOL | libotsxasym.o | |
Symfoware/RDB(スレッドモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 | libotsxasym_mt.o | ||
MQDにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 | C/C++/COBOL | libotsxamqd.o | |
MQDとOracleにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 | libotsxamqd_ora.o | ||
MQDとSymfoware/RDBにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 | C/COBOL | libotsxamqd_sym.o | |
Oracle11gにアクセスするサーバアプリケーションの運用環境用 | Java | libotsxaora11g_java.so | |
Oracle10gにアクセスするサーバアプリケーションの運用環境用 | libotsxaora10g_java.so | ||
Symfoware/RDB(スレッドモード)にアクセスするサーバアプリケーションの運用環境用 | libotsxasym_java.so |
使用用途 | 言語 | ファイル名 | 格納パス |
---|---|---|---|
Oracleにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 | C/C++ | libotsxaora.o | /opt/FJSVots/program/xa(注1) |
Symfoware/RDB(プロセスモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 | C | libotsxasym.o | |
Symfoware/RDB(スレッドモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 | libotsxasym_mt.o | ||
Oracle11gにアクセスするサーバアプリケーションの運用環境用 | Java | libotsxaora11g_java.so | |
Oracle10gにアクセスするサーバアプリケーションの運用環境用 | libotsxaora10g_java.so | ||
Symfoware/RDB(スレッドモード)にアクセスするサーバアプリケーションの運用環境用 | libotsxasym_java.so |
注1)本製品のインストールパスがデフォルトの場合のパスです。
■Java言語以外のXA連携用プログラム
Java言語のサーバアプリケーション作成時以外は、サーバアプリケーション/リソース管理プログラムに、同じXA連携用プログラムを使用してリンクします。
XA連携用プログラムの作成例を以下に示します。
otsmkxapgm -s xaosw -r "/libpath:’C:\Oracle\product\11.1.0\db_1\RDBMS\XA’ oraxa11.lib" -o D:\temp\ots\otsoraxa.dll
otsmkxapgm -t thread -s RDBII_xa_switch -o otsmultixa.o
■Java言語のXA連携用プログラム
Java言語のサーバアプリケーションでXA連携を行う場合は、以下の2種類のXA連携プログラムを作成する必要があります。
サーバアプリケーション用のXA連携プログラム
otsmkxapgmコマンドに-javaオプションを指定して作成します。
上記のサーバアプリケーションと連携するリソース管理プログラム用のXA連携用プログラム
他言語と同様に、-javaオプションを指定する必要はありません。
otsmkxapgm -s xaosw -java -r "/libpath:'C:\Oracle\product\11.1.0\db_1\RDBMS\XA' oraxa11.lib" -o D:\temp\ots\otsxaora11g_java.dll
環境変数ORALIBに、Oracleのライブラリディレクトリを指定する必要があります。
otsmkxapgm -java -r "-L$(ORALIB) -lclntsh" -s xaosw -o /tmp/ots/otsoraxa.o
環境変数ORALIBに、Oracleのライブラリディレクトリを指定する必要があります。
otsmkxapgm -java -r "-L$(ORALIB) -lclntsh" -s xaosw -o /tmp/ots/libxajava_linkpgm.so
otsmkxapgm -s xaosw -r "/libpath:'C:\Oracle\product\11.1.0\db_1\RDBMS\XA' oraxa11.lib" -o D:\temp\otsoraxa.dll
注意
otsmkxapgmコマンドを使用してXA連携用プログラムを作成すると、以下の2つのライブラリファイルが作成されます。
ファイル拡張子「LIB」
本ファイルは、otslinkrscコマンド/tdlinkapmコマンドの入力情報です。
本ファイルは、otslinkrscコマンドの入力情報です。
ファイル拡張子「DLL」
本ファイルは、リソース管理プログラム起動時、システム環境変数PATHにファイルの格納パスを設定します。
なお、otsmkxapgmコマンド実行時は、コンパイラが必要となります。otsmkxapgmコマンドを実行すると、コンパイルコマンドとリンクコマンドが動作します。