2.1.3 リソースマネジャの接続
TP1/LiNKのシステムにリソースマネジャを接続する手順について説明します。TP1/LiNKに接続できるOpenTP1のリソースマネジャを次に示します。
-
TP1/Messaging
-
TP1/Message Queue※
- 注※
-
TP1/LiNKのVersion 7に対応するTP1/Message Queueは,現時点では未発行です。発行時期をご確認ください。
これらのほかに,次に示すOpenTP1以外のリソースマネジャもTP1/LiNKに接続できます。
-
Microsoft SQL Server
-
HiRDB
-
Oracle
OpenTP1以外のリソースマネジャを接続した場合,トランザクションサービスプロセスがリソースマネジャのDLLを使用するため,「3.1 TP1/LiNKの実行環境の設定」の[システム環境設定]ウィンドウの[サーチパス]欄に,リソースマネジャのDLLがあるパス名を指定してください。
また,OpenTP1以外のリソースマネジャのリソースマネジャの登録,Open,Close文字列の指定,環境変数の設定,UAPのコンパイルとリンケージの詳細については,「4.1 OpenTP1以外のリソースマネジャ連携時の実行環境設定」もあわせて参照してください。
リソースマネジャを接続するときは,[スタート]−[プログラム]−[TP1_LiNK]−[リソースマネジャ接続]メニューを選択します。
[リソースマネジャ接続]メニューを選択すると,[リソースマネジャ]ウィンドウが表示されます。
|
- メニューバーのコマンド
-
[リソースマネジャ]ウィンドウのメニューについて説明します。
- [ファイル(F)]メニュー
-
[ファイル(F)]メニューには,次に示すコマンドがあります。
[終了(X)]:[リソースマネジャ]ウィンドウを終了します。
- [ヘルプ(H)]メニュー
-
バージョン情報を示すヘルプを示します。[ヘルプ(H)]メニューについては,「6.5 ヘルプの使い方」を参照してください。
- ボタンの使い方
-
次に示すボタンは,[リソースマネジャ一覧(R)]リストボックスに表示されているリソースマネジャを選択してからクリックしてください。
-
[削除(D)]ボタン
-
[Open,Close文字列(O)...]ボタン
- [追加(A)...]ボタン
-
リソースマネジャと接続する[リソースマネジャ接続]ダイアログボックスを開きます。
- [削除(D)]ボタン
-
指定したリソースマネジャとの接続を解除します。
- [オブジェクト作成(G)...]ボタン
-
トランザクション制御用オブジェクトを作成する[オブジェクト作成]ダイアログボックスを開きます。
- [Open,Close文字列(O)...]ボタン
-
[リソースマネジャ一覧(R)]リストボックスにあるリソースマネジャのOpen,Close文字列を再設定する[OPEN,CLOSE文字列一覧]ダイアログボックスを開きます。
- [オプション(P)...]ボタン
-
トランザクションサービスの環境設定,リソースマネジャオープンエラー時の設定,およびHiRDBのプリペア最適化/コミット最適化を抑止するかどうかを設定する[オプション]ダイアログボックスを開きます。
- [終了(C)]ボタン
-
[リソースマネジャ]ウィンドウを終了します。
-
- ウィンドウの内容
-
- [リソースマネジャ一覧(R)]
-
TP1/LiNKに接続してあるリソースマネジャの一覧をリストボックスに表示します。このリストボックスにリソースマネジャを追加するときは,[追加(A)...]ボタンをクリックして[リソースマネジャ接続]ダイアログボックスを開いてください。
なお,図2-2ではリソースマネジャとしてTP1/Message Queueが表示されていますが,TP1/LiNKのVersion 7に対応するTP1/Message Queueは,現時点では未発行です。発行時期をご確認ください。
- 〈この項の構成〉
(1) リソースマネジャの接続
TP1/LiNKとリソースマネジャを接続する方法について説明します。
TP1/LiNKとリソースマネジャを接続する場合は,[リソースマネジャ]ウィンドウの[追加(A)...]ボタンをクリックします。ボタンをクリックすると,[リソースマネジャ接続]ダイアログボックスが表示されます。
|
- ボタンの使い方
-
- [接続(O)]ボタン
-
指定したリソースマネジャをTP1/LiNKのシステムに接続します。[接続可能なリソースマネジャ(R)]リストボックスにある項目を選択してから(複数可)クリックしてください。
OpenTP1以外のリソースマネジャを選択して[接続(O)]ボタンをクリックすると,[リソースマネジャのXA関連オブジェクト]ダイアログボックスが表示されます。
- [オブジェクト作成(G)...]ボタン
-
トランザクション制御用オブジェクトを作成する[オブジェクト作成]ダイアログボックスを開きます。
- [終了(C)]ボタン
-
[リソースマネジャ接続]ダイアログボックスを終了します。
- ダイアログボックスの内容
-
- [接続可能なリソースマネジャ(R)]
-
TP1/LiNKのシステムに組み込んで,TP1/LiNKに接続していないリソースマネジャをリストボックスに表示します。リソースマネジャをTP1/LiNKに接続するときは,このリストボックスに表示しているリソースマネジャを選択してから[接続(O)]ボタンをクリックします。
なお,図2-3ではリソースマネジャとしてTP1/Message Queueが表示されていますが,TP1/LiNKのVersion 7に対応するTP1/Message Queueは,現時点では未発行です。発行時期をご確認ください。
(2) リソースマネジャのXA関連オブジェクトの設定
OpenTP1以外のリソースマネジャを接続するときは,リソースマネジャのXA関連オブジェクトを指定する必要があります。[リソースマネジャ接続]ダイアログボックスの[接続可能なリソースマネジャ(R)]リストボックスからOpenTP1以外のリソースマネジャ名を選択して[接続(O)]ボタンをクリックすると,[リソースマネジャのXA関連オブジェクト]ダイアログボックスが表示されます。ここではMicrosoft SQL Serverの例を示します。
|
[リソースマネジャのXA関連オブジェクト]ダイアログボックスは,OpenTP1以外のリソースマネジャ(Microsoft SQL Server,HiRDB,Oracle)と接続する場合にだけ表示されます。OpenTP1のリソースマネジャ(TP1/Messaging,TP1/Message Queue※)と接続するときは,このダイアログボックスは表示されません。
- 注※
-
TP1/LiNKのVersion 7に対応するTP1/Message Queueは,現時点では未発行です。発行時期をご確認ください。
- ボタンの使い方
-
- [OK]ボタン
-
[リソースマネジャのXA関連オブジェクト]ダイアログボックスに指定したファイル名を使って,リソースマネジャと接続を開始します。
- [キャンセル]ボタン
-
何もしないで,[リソースマネジャのXA関連オブジェクト]ダイアログボックスを終了します。
- ダイアログボックスに設定する内容
-
次に示す項目には,接続するリソースマネジャによって固有の値を設定します。指定する値については,接続するリソースマネジャのマニュアルを参照してください。
- [...が提供するXA関連オブジェクト(ライブラリ)ファイル名称(X)] 〜<1〜256文字の記号名称>
-
接続するリソースマネジャ(...の部分に表示)固有のファイル名称を完全パス名で指定します。ファイルが複数あるときは,空白(半角スペース)で区切って指定してください。パス名やファイル名に空白(半角スペース)や9文字以上の名称を使っている場合は,MS-DOSファイル名で指定してください。
(3) 複数のOpen,Close文字列の設定
リソースマネジャがMicrosoft SQL ServerまたはOracleの場合は,[リソースマネジャのXA関連オブジェクト]ダイアログボックスの指定を完了して[OK]ボタンをクリックすると,[OPEN,CLOSE文字列一覧]ダイアログボックスが表示されます。
|
リソースマネジャを接続したあとでOpen,Close文字列の内容を変更するときは,[リソースマネジャ]ウィンドウの[Open,Close文字列(O)...]ボタンをクリックして[OPEN,CLOSE文字列一覧]ダイアログボックスを開いてください。
リストボックスのリソースマネジャ名には次に示す名称で登録,表示されます。
-
Microsoft SQL Serverの場合:MS_SQL_Server
-
Oracleの場合:Oracle_XA
[OPEN,CLOSE文字列一覧]ダイアログボックスは,[リソースマネジャ接続]ダイアログボックスまたは[リソースマネジャ]ウィンドウのリストボックスで選択したリソースマネジャごとに表示されます。
- ボタンの使い方
-
- [追加(A)...]ボタン
-
新規に[OPEN,CLOSE文字列一覧]ダイアログボックスを開きます。
追加対象となるリソースマネジャは,[リソースマネジャ接続]ダイアログボックスまたは[リソースマネジャ]ウィンドウのリストボックスで選択したリソースマネジャになります。
- [削除(D)]ボタン
-
リストボックスから選択したOPEN,CLOSE文字列を削除します。
削除対象となるリソースマネジャは,[リソースマネジャ接続]ダイアログボックスまたは[リソースマネジャ]ウィンドウのリストボックスで選択したリソースマネジャになります。
- [変更(M)...]ボタン
-
リストボックスから選択したOPEN,CLOSE文字列を変更する[OPEN,CLOSE文字列一覧]ダイアログボックスを開きます。
変更対象となるリソースマネジャは,[リソースマネジャ接続]ダイアログボックスまたは[リソースマネジャ]ウィンドウのリストボックスで選択したリソースマネジャになります。
- [OK]ボタン
-
設定した値に変更してから,[OPEN,CLOSE文字列一覧]ダイアログボックスを終了します。OPEN,CLOSE文字列は一つ以上設定してください。リソースマネジャ接続の場合は,リソースマネジャと接続を開始します。
- [キャンセル]ボタン
-
値を変更しないで,[OPEN,CLOSE文字列一覧]ダイアログボックスを終了します。
(4) Open,Close文字列の指定
OpenTP1以外のリソースマネジャを接続するときは,Open,Close文字列を設定する必要があります。
[OPEN,CLOSE文字列一覧]ダイアログボックスの[追加(A)...]ボタンまたはリストボックスから変更するOPEN,CLOSE文字列を選択して[変更(M)...]ボタンをクリックすると,[OPEN,CLOSE文字列]ダイアログボックスが表示されます。
|
- ボタンの使い方
-
- [OK]ボタン
-
[OPEN,CLOSE文字列]ダイアログボックスに指定した値に変更します。
- [キャンセル]ボタン
-
値を変更しないで,[OPEN,CLOSE文字列]ダイアログボックスを終了します。
- ダイアログボックスに設定する内容
-
次に示す項目には,接続するリソースマネジャによって固有の値を指定します。指定する値については,接続するリソースマネジャのマニュアルを参照してください。
- [リソースマネジャ拡張子(R)] 〜<1〜2文字の識別子>
-
一つのリソースマネジャを複数の制御単位としてアクセスする場合,リソースマネジャ名を「リソースマネジャ名+リソースマネジャ拡張子」に修飾するための文字列を指定します。拡張子は重複しないようにしてください。複数の制御単位としてアクセスしない場合は,この設定を省略してください。
TP1/LiNKは,このオプションを指定したリソースマネジャに対して,リソースマネジャ名を「リソースマネジャ名+リソースマネジャ拡張子」に修飾して管理します。このため,リソースマネジャ名だけではアクセスできないので,SPP環境またはSUP環境の詳細設定でもリソースマネジャ拡張子を指定する必要があります。
SPPおよびSUPの詳細設定については,「3.2.2 SPPの詳細設定」または「3.3.2 SUPの詳細設定」を参照してください。
- [トランザクションサービス用xa_open関数用文字列(T)]
-
TP1/LiNKからxa_open関数を呼び出すときに使う文字列を,128文字以内で指定します。NULL文字を通知する必要がある場合は,省略してください。
- [トランザクションサービス用xa_close関数用文字列(S)]
-
TP1/LiNKからxa_close関数を呼び出すときに使う文字列を,128文字以内で指定します。NULL文字を通知する必要がある場合は,省略してください。
- [ユーザサーバ用xa_open関数用文字列(U)]
-
ユーザサーバのプロセスからxa_open関数を呼び出すときに使う文字列を,128文字以内で指定します。NULL文字を通知する必要がある場合は,省略してください。
- [ユーザサーバ用xa_close関数用文字列(F)]
-
ユーザサーバのプロセスからxa_close関数を呼び出すときに使う文字列を,128文字以内で指定します。NULL文字を通知する必要がある場合は,省略してください。
(5) トランザクション制御用オブジェクトファイルの作成
TP1/LiNKのユーザサーバが,トランザクション機能を使ってリソースマネジャにアクセスする場合は,そのユーザサーバにトランザクション制御用オブジェクトファイルをリンケージする必要があります。
トランザクション制御用オブジェクトファイルを作成する場合は,次に示すどちらかの操作をします。
-
[リソースマネジャ]ウィンドウの[オブジェクト作成(G)...]ボタンをクリック
-
[リソースマネジャ接続]ダイアログボックスの[オブジェクト作成(G)...]ボタンをクリック
これらのボタンをクリックすると,[オブジェクト作成]ダイアログボックスが表示されます。
|
- ボタンの使い方
-
次に示すボタンは,リストボックスにあるリソースマネジャの行を選択してからクリックしてください。
-
[追加(A)]ボタン
-
[削除(D)]ボタン
- [追加(A)]ボタン
-
[TP1/LiNKに登録されているリソースマネジャ(M)]リストボックスから選択したリソースマネジャを[オブジェクトに登録するリソースマネジャ(R)]リストボックスに登録します。
- [削除(D)]ボタン
-
[オブジェクトに登録するリソースマネジャ(R)]リストボックスから選択したリソースマネジャを削除します。
- [作成(G)]ボタン
-
[オブジェクトに登録するリソースマネジャ(R)]リストボックスにあるリソースマネジャの,トランザクション制御用オブジェクトファイルを作成します。
作成したファイルは,[オブジェクト名称(B)]に指定した名称で,%DCDIR%\spool\trnrmcmd\userobj\フォルダに格納されます。トランザクション処理でリソースマネジャにアクセスするユーザサーバに,作成したトランザクション制御用オブジェクトファイルをリンケージしてください。
- [終了(C)]ボタン
-
[オブジェクト作成]ダイアログボックスを終了します。
-
- ダイアログボックスに設定する内容
-
- [オブジェクト名称(B)] 〜<1〜12文字の記号名称 + ".obj">
-
作成するトランザクション制御用オブジェクトファイルのファイル名を指定します。トランザクション制御用オブジェクトファイルは,ここに指定した名称で,%DCDIR%\spool\trnrmcmd\userobj\フォルダに格納されます。
トランザクション制御用オブジェクトファイル名には,".obj"を付けてください。
- [オブジェクトに登録するリソースマネジャ(R)]
-
トランザクション制御用オブジェクトファイルに登録するリソースマネジャの一覧をリストボックスに表示します。
- [TP1/LiNKに登録されているリソースマネジャ(M)]
-
TP1/LiNKに接続しているリソースマネジャの一覧をリストボックスに表示します。
なお,図2-7ではリソースマネジャとしてTP1/Message Queueが表示されていますが,TP1/LiNKのVersion 7に対応するTP1/Message Queueは,現時点では未発行です。発行時期をご確認ください。
(6) トランザクションサービスの環境変数の設定
TP1/LiNKのトランザクションサービスの環境変数を指定する必要があるリソースマネジャ(例 HiRDB)のときは,オプション項目を指定する必要があります。トランザクションサービスの環境変数を設定するときは,[リソースマネジャ]ウィンドウの[オプション(P)...]ボタンをクリックしてください。ボタンをクリックすると,[オプション]ダイアログボックスが表示されます。
|
[オプション]ダイアログボックスは,HiRDBと接続する場合にだけ設定する必要があります。Microsoft SQL Server,OpenTP1のリソースマネジャ(TP1/Messaging,TP1/Message Queue※)と接続するときは[オプション]ダイアログボックスの指定は必要ありません。
- 注※
-
TP1/LiNKのVersion 7に対応するTP1/Message Queueは,現時点では未発行です。発行時期をご確認ください。
- ボタンの使い方
-
- [上書き保存(E)]ボタン
-
[オプション]ダイアログボックスに設定した内容を保存します。
- [終了(C)]ボタン
-
[オプション]ダイアログボックスを終了します。
- ダイアログボックスに設定する項目
-
- [トランザクションサービスの環境変数]欄 〜<1〜63文字の英数字>
-
トランザクションサービスの環境変数を設定します。ここに設定する値については,該当するHiRDBのマニュアルを参照してください。
-
環境変数を設定する場合
欄内の[変数(V)]と[値(A)]に値を入力して,[設定(S)]ボタンをクリックします。
-
環境変数を削除する場合
削除する環境変数をリストボックスから選択して,[削除(D)]ボタンをクリックします。
-
- [リソースマネジャオープンエラー時の処置(O)]欄
-
TP1/LiNK起動時に発行するxa_open関数がエラーになったときの処置を,次のオプションボタンから選択します。
-
[TP1続行]
TP1/LiNKの処理を続行します。
-
[TP1停止]
TP1/LiNKを停止させます。
-
[オープン処理をリトライ後,TP1続行]
[リトライ間隔(I)]および[リトライ回数(N)]の指定値に従って,xa_open関数発行処理をリトライします。リトライ後はTP1/LiNKの処理を続行します。このオプションを選択すると,リソースマネジャ起動の待ち合わせができます。
-
[オープン処理をリトライ後,TP1停止]
[リトライ間隔(I)]および[リトライ回数(N)]の指定値に従って,xa_open関数発行処理をリトライします。リトライ後はTP1/LiNKを停止させます。
-
- [リトライ間隔(I)] 〜<符号なし整数>((1〜3600))《10》(単位:秒)
-
[リソースマネジャオープンエラー時の処置(O)]欄で[オープン処理をリトライ後,TP1続行]または[オープン処理をリトライ後,TP1停止]を選択した場合のリトライで,xa_open関数を発行する間隔を指定します。
- [リトライ回数(N)] 〜<符号なし整数>((1〜65535))《18》
-
[リソースマネジャオープンエラー時の処置(O)]欄で[オープン処理をリトライ後,TP1続行]または[オープン処理をリトライ後,TP1停止]を選択した場合のリトライで,xa_open関数を発行する回数を指定します。
- [プリペア,コミット最適化]欄
-
-
[HiRDBのプリペア,コミット最適化を抑止する(H)]
HiRDBのプリペア最適化とコミット最適化を抑止するかどうかをチェックボックスで指定します。このチェックボックスは,システムにHiRDBを接続したときにだけ選べます。HiRDBとの接続を指定した時点では,チェックボックスはオフになっています。
ここに指定する値とトランザクションの決着範囲の関係については,該当するHiRDBのマニュアルの「OpenTP1のトランザクションの移行」と「trnstring -dオペランドとHiRDBのオペランドの関係」の記述を参照してください。
-
(7) TP1/LiNKを実行環境だけで運用する方法
TP1/LiNKがリソースマネジャと連携する場合,リソースマネジャの提供するライブラリとコンパイル・リンケージが必要なため,Microsoft Visual C++が前提となります。
TP1/LiNKを実行環境だけで運用する場合,Microsoft Visual C++をインストールする必要はありませんが,.NET Framework およびVisual C++アプリケーションの実行に必要なMicrosoft Visual C++再頒布可能パッケージ(x86)をインストールする必要があります。詳細は,Visual Studioのドキュメントを参照してください。実行に必要なファイルがない場合,TP1/LiNKを利用できません。
TP1/LiNKを実行環境だけで運用する場合は,次に示す手順に従って実行環境を作成してください。このとき,開発環境と実行環境のTP1/LiNKおよびリソースマネジャのバージョンを統一してください。
-
TP1/LiNK,リソースマネジャおよびMicrosoft Visual C++がインストールされた開発環境のマシン上で,TP1/LiNKの[リソースマネジャ接続]ダイアログボックスからリソースマネジャと接続します。
-
開発環境のマシン上の次に示すファイルを,実行環境のマシンにコピーします。
-
%DCDIR%\conf\sysconf
-
%DCDIR%\conf\trn
-
%DCDIR%\lib\jmsgtxt
-
%DCDIR%\lib\sysconf\trnrmdb
-
%DCDIR%\lib\servers\trnrmd.exe
-
%DCDIR%\lib\servers\trnrvd.exe
-
%DCDIR%\lib\servers\clttrnd.exe
-
%DCDIR%\spool\dclitinf\guirmdb
-
-
[リソースマネジャ接続]ダイアログボックスで,リソースマネジャ一覧に接続したリソースマネジャが追加されているかどうかを確認してください。
TP1/LiNKおよびリソースマネジャを入れ替える場合は,必ずこの手順を再実行してください。