XA連携用プログラムは、データベースとXAインタフェースで連携するためのプログラムです。
ポイント
本製品で提供されていないXA連携用プログラムを使用する場合は、otsmkxapgmコマンドで必要なXA連携用プログラムを作成してください。otsmkxapgmコマンドの詳細については、「リファレンスマニュアル(コマンド編)」の「アプリケーション開発コマンド」-「otsmkxapgm」を参照してください。また、データベース連携サービスがサポートしているデータベースについては、「システム設計ガイド」の「ソフトウェア条件」-「アプリケーション実行時に必要なソフトウェア」-「データベース関連(データベース連携サービス)」を参照してください。
XA連携用プログラムは、otsmkxapgmコマンドを使用してリソースの種別ごとに作成しますが、1つのサーバアプリケーションから複数のリソースへアクセスするような場合は、リソースごとのxa_switch_t構造体の名前を指定して1つのXA連携用プログラムを作成する必要があります。この複数のリソースアクセス用に作成したXA連携用プログラムは、サーバアプリケーション作成時にリンクするために必要となりますが、リソース管理プログラム作成時は使用できません。リソース管理プログラム用には、個々にXA連携用プログラムを準備してください。xa_switch_t構造体の詳細な情報については、データベースのマニュアルを参照してください。
データベース連携サービスでは、以下の標準的なXA連携用プログラムを提供しています。
使用用途 | 言語 | ファイル名 | 格納パス |
---|---|---|---|
Oracle12cにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 |
| otsxaora12c.dll | C:\Interstage\ots\program\xa |
otsxaora12c.lib | |||
Oracle11gにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 | otsxaora11g.dll | ||
otsxaora11g.lib | |||
Symfoware/RDB(プロセスモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 |
| otsxasym.dll | |
otsxasym.lib | |||
Symfoware/RDB(スレッドモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 | otsxasym_mt.dll | ||
otsxasym_mt.lib | |||
Oracle12cにアクセスするサーバアプリケーションの運用環境用 |
| otsxaora12c_java.dll | |
otsxaora12c_java.lib | |||
Oracle11gにアクセスするサーバアプリケーションの運用環境用 | otsxaora11g_java.dll | ||
otsxaora11g_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構造体の詳細な情報については、データベースのマニュアルを参照してください。
データベース連携サービスでは、以下の標準的なXA連携用プログラムを提供しています。
使用用途 | 言語 | ファイル名 | 格納パス |
---|---|---|---|
Oracleにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 |
| libotsxaora.o | /opt/FSUNots/program/xa |
Symfoware/RDB(プロセスモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 |
| libotsxasym.o | |
Symfoware/RDB(スレッドモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 | libotsxasym_mt.o | ||
Oracle12cにアクセスするサーバアプリケーションの運用環境用 |
| libotsxaora12c_java.so | |
Oracle11gにアクセスするサーバアプリケーションの運用環境用 | libotsxaora11g_java.so | ||
Symfoware/RDB(スレッドモード)にアクセスするサーバアプリケーションの運用環境用 |
| libotsxasym_java.so |
使用用途 | 言語 | ファイル名 | 格納パス |
---|---|---|---|
Oracleにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 |
| libotsxaora.o | [RHEL7の場合] |
Symfoware/RDB(プロセスモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 |
| libotsxasym.o | |
Symfoware/RDB(スレッドモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用 | libotsxasym_mt.o | ||
Oracle12cにアクセスするサーバアプリケーションの運用環境用 |
| libotsxaora12c_java.so | |
Oracle11gにアクセスするサーバアプリケーションの運用環境用 | libotsxaora11g_java.so | ||
Symfoware/RDB(スレッドモード)にアクセスするサーバアプリケーションの運用環境用 |
| libotsxasym_java.so |
注)使用するオペレーティングシステムにより提供するXA連携用プログラムおよび格納先が異なります。
■Java言語以外のXA連携用プログラム
Java言語のサーバアプリケーション作成時以外は、サーバアプリケーション/リソース管理プログラムに、同じXA連携用プログラムを使用してリンクします。
XA連携用プログラムの作成例を以下に示します。
otsmkxapgm -s xaosw -r "/libpath:’C:\Oracle\product\12.1.0\db_1\RDBMS\XA’ oraxa12.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\12.1.0\db_1\RDBMS\XA' oraxa12.lib" -o D:\temp\ots\otsxaora12c_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\12.1.0\db_1\RDBMS\XA' oraxa12.lib" -o D:\temp\otsoraxa.dll
注意
otsmkxapgmコマンドを使用してXA連携用プログラムを作成すると、以下の2つのライブラリファイルが作成されます。
ファイル拡張子「LIB」
本ファイルは、以下のコマンドの入力情報です。
otslinkrsc
ファイル拡張子「DLL」
本ファイルは、リソース管理プログラム起動時、システム環境変数PATHにファイルの格納パスを設定します。
なお、otsmkxapgmコマンド実行時は、コンパイラが必要となります。otsmkxapgmコマンドを実行すると、コンパイルコマンドとリンクコマンドが動作します。
Sun Studio 12以降を使用してotsmkxapgmコマンドを実行すると以下の警告が出力されますが、動作に影響は無いため対処は不要です。
警告: -xarch=generic64 は非推奨です。64 ビットプログラムの作成には、-m64 を使用してください