4.5.2 XAインタフェースでデータベースにアクセスする場合の準備
XAインタフェースをサポートしたDBMSを,OpenTP1とXAインタフェースで連携して使う場合に準備する項目を次に示します。この準備は,OpenTP1提供以外のリソースマネジャを使う場合に必要です。
- 〈この項の構成〉
(1) OpenTP1への登録
OpenTP1提供以外のリソースマネジャの各種名称を登録します。OpenTP1へは,次に示すどちらかの方法で登録します。
拡張RM登録定義を作成しておくと,dcsetupコマンドでOpenTP1をセットアップしたあとにtrnlnkrmコマンドを実行しなくてもよくなります。trnlnkrmコマンドの使い方については,マニュアル「OpenTP1 運用と操作」を参照してください。拡張RM登録定義の指定方法については,マニュアル「OpenTP1 システム定義」を参照してください。
(2) UAPのリンケージ
UAPの実行形式ファイルを作成するときに,トランザクション制御用オブジェクトファイル,およびDBMSのライブラリとオブジェクトモジュールをリンケージする必要があります。
トランザクション制御用オブジェクトファイルは,trnmkobjコマンドを実行して作成します。trnmkobjコマンドの使い方については,マニュアル「OpenTP1 運用と操作」を参照してください。
(3) システム定義
DBMSを使う場合,トランザクションサービス定義にtrnstring形式の定義を,必要に応じてユーザサービス定義,およびユーザサービスデフォルト定義にtrnrmid形式の定義をする必要があります。指定する内容には,DBMS固有の項目もあります。このような項目は,使用するDBMSのマニュアルを参照してください。
trnstring,trnrmid形式の定義を指定すると,一つのリソースマネジャを複数の制御単位に分け,接続するユーザ名称などを変更してリソースマネジャに接続することもできます(リソースマネジャ接続先選択機能)。リソースマネジャ接続先選択機能については,「4.5.3 リソースマネジャ接続先選択機能」を参照してください。
trnstring,trnrmid形式の定義については,マニュアル「OpenTP1 システム定義」を参照してください。
また,OpenTP1以外のRMを使う場合,トランザクションサービス定義に,set形式の定義をして,スレッドスタック領域のサイズを拡張する必要があります。
set形式の定義については,マニュアル「OpenTP1 システム定義」を参照してください。
(4) 環境変数
DBMSを使う場合,特定の環境変数が必要になる場合があります。その場合,トランザクションサービス定義,ユーザサービス定義,またはユーザサービスデフォルト定義に,putenv形式の定義をする必要があります。
putenv形式の定義については,マニュアル「OpenTP1 システム定義」を参照してください。