第2章 互換に関する情報
2.6 XA インタフェースの接続方式の変更
変更内容
XAインタフェースを利用した埋込みSQLのアプリケーションからのSymfoware/RDBへの接続方式が以下のとおり変更となります。
・ 9.1.1以前:システム内通信
・ V10.0.0以降:RDB2_TCP接続 非互換
従来の環境では、XAインタフェースを利用した埋込みSQLのアプリケーションからSymfoware/RDBに接続することができません。
対処方法
Symfoware/RDBの設定と、Symfoware/RDBが動作している環境と同じ環境で動作しているInterstage Application Serverの設定を変 更する必要があります。
XAインタフェースを利用しているか否かの確認は、以下のInterstage Application Serverのコマンドで行ってください。
otssetrsc -l
コマンドの実行結果としてリソース定義名の一覧が出力された場合、そのシステムでXAインタフェースを利用しているため、Symfoware/
RDBとInterstage Application Serverの設定を変更してください。
Symfoware/RDBの設定変更手順
以下の手順でSymfoware/RDBの設定を変更してください。
1.
システム用の動作環境ファイルのMAX_CONNECT_TCPパラメタの現在値にMAX_CONNECT_SYSパラメタの値を加算し てください。参照
MAX_CONNECT_TCPパラメタの現在値の確認方法は“アプリケーション開発ガイド(共通編)”の“コネクションの動作環境の パラメタ設定情報(一括出力)”を参照してください。
2.
Symfoware/RDBが動作している環境のservicesファイルに、アプリケーションからSymfoware/RDBに接続するためのポート番号を設定してください。
Interstage Application Serverの設定変更手順
データベース連携サービスに登録されているリソース定義とXAインタフェースを利用しているCORBAアプリケーションについて、
以下の設定を行ってください。
- 環境変数SQLRTENVの設定を追加
- クライアント用の動作環境ファイルにSERVER_SPECパラメタを追加 リソース定義に関する設定
リソース定義に関する設定の変更手順を説明します。
リソース定義ファイルに環境変数SQLRTENVの設定を追加
1.
以下のコマンドを実行して、リソース定義名の一覧を取得します。otssetrsc -l
2.
以下のコマンドを実行して、リソース定義の内容を出力します。otssetrsc -l -n <リソース定義名>
出力された内容を確認し、環境変数SQLRTENVが設定されていないリソース定義を特定します。
また、以下のオープン文字列に設定されているSQLサーバ名も確認します。SQLサーバ名は、クライアント用の動作環境 ファイルの設定時に必要な情報です。
OPENINFO=TO <SQLサーバ名> USER <ユーザ名>/<パスワード>
3.
クライアント用の動作環境ファイルを任意のパスに作成します。4.
環境変数SQLRTENVが設定されていないリソース定義について、リソース定義の内容を任意のテキストファイルに保存し、最終行に以下の一行を追加します。
ENVIRON SQLRTENV=<手順3で作成したクライアント用の動作環境ファイルの絶対パス>
5.
以下のコマンドを実行してリソース管理プログラムを停止します。otsstoprsc -n <リソース定義名>
6.
以下のコマンドを実行して、環境変数SQLRTENVの設定をリソース定義へ追加してください。otssetrsc -o -rf <手順4で修正したリソース定義ファイルの絶対パス>
7.
以下のコマンドを実行してリソース管理プログラムを起動します。otsstartrsc -n <リソース定義名>
クライアント用の動作環境ファイルにSERVER_SPECパラメタを追加
環 境 変 数SQLRTENVで 指 定 し た ク ラ イ ア ン ト 用 の 動 作 環 境 フ ァ イ ル に 、SERVER_SPECパ ラ メ タ を 追 加 し ま す 。
SERVER_SPECパラメタには、以下を設定します。
SERVER_SPEC=(RDB2_TCP,<リソース定義のオープン文字列で指定しているSQLサーバ名>,<リソース定義のオープン文字列で指 定しているSQLサーバ名>,localhost,<ポート番号>)
ポート番号には、Symfoware/RDBの設定変更で、servicesファイルに設定したポート番号を指定します。
CORBAアプリケーションの設定
CORBAアプリケーションに関する設定の変更手順を説明します。
XAインタフェースを利用しているCORBAアプリケーションの特定
1.
以下のコマンドを実行して、インプリメンテーションリポジトリに登録されているサーバアプリケーションのインプリメンテー ションリポジトリIDの一覧を取得します。OD_impl_inst -p
2.
以下のコマンドを実行して、インプリメンテーションリポジトリに登録されているサーバアプリケーションの情報を出力しま す。OD_impl_inst -p -r <インプリメンテーションリポジトリID>
出力された内容を確認し、XAインタフェースを利用しているCORBAアプリケーションを特定します。XAインタフェースを 利用しているCORBAアプリケーションの場合には、以下のように、リソースの設定に関する情報が出力されています。
data = "RESOURCE:[RM名:]<リソース定義名>"
CORBAアプリケーションが配備されているワークユニットの特定
1.
以下のコマンドを実行して、定義登録済みのワークユニット名の一覧を取得します。islistwudef
2.
以下のコマンドを実行して、ワークユニットの情報を出力します。isinfwudef <ワークユニット名>
出力された内容を確認し、CORBAアプリケーションが配備されているワークユニットを特定します。CORBAアプリケーショ ンが配備されているワークユニットの場合には、以下のように、CORBAアプリケーションのインプリメンテーションリポジトリ IDが出力されています。
Impl ID:<該当のCORBAアプリケーションのインプリメンテーションリポジトリID>
環境変数にSQLRTENVが設定されていないCORBAアプリケーションの特定
1.
以下のコマンドを実行してワークユニットを停止します。isstopwu <ワークユニット名>
2.
以下のコマンドを実行してワークユニット定義を表示します。 [Control Option]セクション、または、[Application Program]セクションのEnvironment Variableに記載されている“環境変数”を確認し、環境変数にSQLRTENVが設定されていない CORBAアプリケーションを特定します。
isinfwudef <ワークユニット名>
CORBAアプリケーションの環境変数にSQLRTENVの設定を追加
1.
クライアント用の動作環境ファイルを任意のパスに作成します。2.
以下のコマンドを実行してワークユニット定義をファイルに出力します。isinfwudef <ワークユニット名><ワークユニット名>.txt
3.
手順2で出力したワークユニット定義ファイルの[Control Option]セクション、または、[Application Program]セクションの Environment Variableに以下を追加します。SQLRTENV=<手順1で作成したクライアント用の動作環境ファイルの絶対パス>
4.
以下のコマンドを実行してワークユニット定義を更新します。isaddwudef -o <手順3で修正したワークユニット定義ファイルの絶対パス>
5.
停止していたワークユニットを下のコマンドを実行してワークユニットを起動します。isstartwu <ワークユニット名>
クライアント用の動作環境ファイルにSERVER_SPECパラメタを追加
環 境 変 数SQLRTENVで 指 定 し た ク ラ イ ア ン ト 用 の 動 作 環 境 フ ァ イ ル に 、SERVER_SPECパ ラ メ タ を 追 加 し ま す 。
SERVER_SPECパラメタには、以下を設定します。
SERVER_SPEC=(RDB2_TCP,<該当のCORBAアプリケーションに設定されているリソース定義のオープン文字列で指定しているSQL サーバ名>,<該当のCORBAアプリケーションに設定されているリソース定義のオープン文字列で指定しているSQLサーバ名
>,localhost,<ポート番号>)
ポート番号には、Symfoware/RDBの設定変更で、servicesファイルに設定したポート番号を指定します。
CORBAアプリケーションに設定されているリソース定義のオープン文字列は、リソース定義の中で以下の形式で記述されて
います。
OPENINFO=<オープン文字列>