整合されたメッセージ・フローのためにデータベースを構成する

メッセージ・フローにデータベースとの対話が含まれている場合、 メッセージ・フロー内の他のアクションとの間でデータベース更新を調整するには、 ブローカーを構成してそれらの更新を管理します。

始める前に:

このタスクを実行するには、以下のタスクを完了している必要があります。

そのブローカーのメッセージ・フローによる更新時に、 グローバルに整合されるトランザクションに加わるそれぞれのデータベースごとに XAResourceManager スタンザを定義することによって、 ブローカー・キュー・マネージャー情報を更新する必要があります。

ご使用のメッセージ・フローがメッセージ辞書を参照するか、 または Publication ノードを組み込んでいる場合には、 同じメソッドを使用して、ブローカー内部データベースの XAResourceManager スタンザを定義する必要もあります。

DB2 の使用

整合トランザクションで DB2 を使用したい場合には、以下のようにします。

  • DB2 バージョン 7 を使用する場合は、 用意されているスイッチ・ファイルを使用します。 このファイルはサポートされているプラットフォームごとに用意されています。 このファイルは、ディレクトリー install_dir/sample/xatm にインストールされます。
  • DB2 バージョン 8 を使用する場合は、 APAR IY46106 に対応するフィックスをダウンロードしてください。 サポートされているすべてのプラットフォーム用のスイッチ・ファイルを含んだ tar ファイルを入手できます。

独自のファイルを作成したい場合は、 「WebSphere MQシステム管理ガイド」の『DB2 configuration』というセクションにある指示に従ってください。 本書の中にも、XA リソース定義の構成方法に関する詳しい情報があります。

Oracle の使用

整合されるトランザクションで Oracle を使用したい場合には、 「WebSphere MQシステム管理ガイド」の『Oracle configuration』というセクションにある指示に従い、 またここで与えられた指示と併せて使用してください。特に、/usr/lib から 32-bit ビット Oracle クライアント・ライブラリー libclntsh へのシンボリック・リンクを提供する必要があります。

  1. データベースにアクセスするために使用され、 XAOpenString で指定されたユーザー ID が、 DBA_PENDING_TRANSACTIONS ビューにアクセスするのに必要な Oracle 特権を持つことを確認してください。 次の Oracle SQLPLUS コマンドを使用して、必要なアクセスを認可することができます。
    	grant select on DBA_PENDING_TRANSACTIONS to <userid>;
  2. WebSphere Business Integration Message Broker の提供する switchfile を使用します。 Oracle の XAResourceManager 構成情報を追加する場合は、次のように指定します。
    • UKor8dtc18.so (AIX および Solaris 上の switchfile として)
    • libSwitchOracle.sl (HP-UX 上の switchfile として)
    • UKor8dtc18.dll (Windows 上の switchfile として)

次の例は、UNIX システム上の qm.ini ファイル内の XAResourceManager スタンザに何を組み込まなければならないか、および Windows の場合の等価情報を示しています。

  • AIX の場合:
    XAResourceManager:
    Name=Oracle8
    SwitchFile=/usr/opt/wmqi/merant/lib/UKor8dtc18.soXAOpenString=ORACLE_XA+SQLNET=myserver+ACC=P/scott/tiger+sestm=0+
            threads=TRUE+DB=ORACLEDB
    XACloseString=
        ThreadOfControl=THREAD
  • HP-UX の場合:
    XAResourceManager:
    Name=Oracle8
    SwitchFile=/opt/wmqi/merant/lib/libSwitchOracle.slXAOpenString=ORACLE_XA+SQLNET=myserver+ACC=P/scott/tiger+sestm=0+
            threads=TRUE+DB=ORACLEDB
    XACloseString=
    ThreadOfControl=THREAD

    この方法で構成したキュー・マネージャーを始動する前に、 次のコマンドを実行する必要があります (先頭のピリオドとそれに続くスペースも含めて)。

    . /opt/wmqi/sample/profiles/profile.hpux
  • Solaris の場合:
    XAResourceManager:
    Name=Oracle8
    SwitchFile=/opt/wmqi/merant/lib/UKor8dtc18.soXAOpenString=ORACLE_XA+SQLNET=myserver+ACC=P/scott/tiger+sestm=0+
            threads=TRUE+DB=ORACLEDB
    XACloseString=
    ThreadOfControl=THREAD
  • Windows 上では、ご使用の WebSphere MQ キュー・マネージャーのプロパティー・ダイアログの「リソース (Resources)」ページに (WebSphere MQ サービスから利用できる)、次の値を設定します。この例では、 WebSphere Business Integration Message Broker をディレクトリー C:\WMQI にインストールしたと想定しています。
    SwitchFile: C:¥WMQI¥BIN¥UKor8dtc18.dll
    XAOpenString: ORACLE_XA+SQLNET=myserver+ACC=P/scott/tiger+sestm=0+
            threads=TRUE+DB=ORACLEDB
    ThreadOfControl: THREAD

Sybase の使用

整合されるトランザクションで Sybase を使用したい場合には、 「WebSphere MQシステム管理ガイド」の『Sybase configuration』というセクションにある指示に従い、 またここで与えられた指示と併せて使用してください。WebSphere Business Integration Message Broker は Sybase バージョン 12 のみをサポートします。

  1. Sybase XA 構成ファイル $SYBASE/OCS-12_5/xa_config で、 それぞれの ODBC データ・ソース名 (DSN) を、 論理リソース・マネージャー (LRM) として定義します。
  2. ブローカーの作成時に指定された DataSourceUserid が、 Sybase 役割 dtm_tm_role を認可されたユーザー ID であることを確認します。
  3. WebSphere Business Integration Message Broker の提供する switchfile を使用します。 Sybase の XAResourceManager 構成情報を追加する場合は、次のように指定します。
    • UKase18.so (AIX および Solaris 上の switchfile として)
    • libSwitchSybase.sl (HP-UX 上の switchfile として)
    • UKase18.dll (Windows 上の switchfile として)
  4. ご使用のデータベースの ODBC DSN 名を XAOpenString-N パラメーターに指定し、 ご使用のデータベースのネットワーク・アドレスを -A パラメーターに指定します。

次の例は、UNIX システム上の qm.ini ファイル内の XAResourceManager スタンザに何を組み込まなければならないか、および Windows の等価情報を示しています。 それぞれの例において、uid はユーザー・ログイン、 pwd はユーザー ID のパスワードを表します。

  • AIX の場合:
    XAResourceManager:
            Name=SYBASEXA
            SwitchFile=/usr/opt/wmqi/merant/lib/UKase18.so        XAOpenString=-NSYBASEDB -A10.30.14.72,5000 -WWinsock -Uuid -Ppwd -K2
            XACloseString=-NSYBASEDB -A10.30.14.72,5000 -WWinsock -Uuid -Ppwd -K2
            ThreadOfControl=THREAD
  • HP-UX の場合:
    XAResourceManager:
            Name=SYBASEXA
            SwitchFile=/opt/wmqi/merant/lib/libSwitchSybase.sl        XAOpenString=-NSYBASEDB -A10.30.14.72,5000 -WWinsock -Uuid -Ppwd -K2
            XACloseString=-NSYBASEDB -A10.30.14.72,5000 -WWinsock -Uuid -Ppwd -K2
            ThreadOfControl=THREAD

    この方法で構成したキュー・マネージャーを始動する前に、 次のコマンドを実行する必要があります (先頭のピリオドとそれに続くスペースも含めて)。

    . /opt/wmqi/sample/profiles/profile.hpux
  • Solaris の場合:
    XAResourceManager:
            Name=SYBASEXA
            SwitchFile=/opt/wmqi/merant/lib/UKase18.so        XAOpenString=-NSYBASEDB -A10.30.14.72,5000 -WWinsock -Uuid -Ppwd -K2
            XACloseString=-NSYBASEDB -A10.30.14.72,5000 -WWinsock -Uuid -Ppwd -K2
            ThreadOfControl=THREAD
  • Windows 上では、ご使用の WebSphere MQ キュー・マネージャーのプロパティー・ダイアログの「リソース (Resources)」ページに (WebSphere MQ サービスから利用できる)、次の値を設定します。この例では、WebSphere Business Integration Message Broker をディレクトリー C:¥WMQI にインストールしたと想定しています。
    SwitchFile: C:¥WMQI¥BIN¥UKase18.dll
    XAOpenString: -NSYBASEDB -A10.30.14.72,5000 -WWinsock -Uuid -Ppwd -K2
    XACloseString: -NSYBASEDB -A10.30.14.72,5000 -WWinsock -Uuid -Ppwd -K2
    ThreadOfControl: THREAD

関連概念
メッセージ・フロー

関連タスク
メッセージ・フローからデータベースへのアクセス
整合されたメッセージ・フローの構成
整合されたメッセージ・フローのためのメッセージ・フロー・ノードの構成
整合されるメッセージ・フローのための WebSphere MQ および RRS の構成

関連資料
サポートされるデータベース
組み込みノード

WebSphere MQ ライブラリー Web ページ (WebSphere MQ library Web page)