Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成の手引


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 システム定義」を参照してください。