Oracle データベース用の JDBC プロバイダー・エントリーの作成

DatabaseRoute ノードと DatabaseRetrieve ノードは、ブローカーのレジストリーに保管されている接続詳細を使って JDBC 接続を構成します。その詳細には、標準の DBMS JDBC プロバイダー設定が含まれています。

Oracle データベースを使用する場合、以下の手順に従って、JDBC プロバイダー・エントリーを作成します。 以下のスクリプト内に用意されている mqsicreateconfigurableservice コマンドを使用して、SIMPLERROUTEDB という新しい JDBC プロバイダー・エントリーを作成することができます。 このエントリーは、サンプルで使用されるデータベース・ノード内の「データ・ソース名」プロパティー・フィールドによって参照されます。 また、以下の指示に従って、ブローカーがデータベースへのアクセス時に使用するユーザー ID とパスワードを使用して JDBC プロバイダー・エントリーを構成する方法もあります。

  1. 以下のように、データベース用の JDBC プロバイダー・エントリーを作成します。

    1. ブローカーを開始し、そのブローカーに対して実行グループがデプロイ済みであることを確認します。 例えば、ブローカーを開始するには、WebSphere Message Broker コマンドを実行可能なコマンド・コンソール・ウィンドウをオープンし、次のようなコマンドを入力します。
      mqsistart MB8BROKER
    2. テキスト・エディターで新しい文書を開き、Simplified Database Routing サンプルに JDBC データベース・アクセスを提供するために JDBC プロバイダーのエントリー SIMPLERROUTEDB を作成する以下のスクリプトをコピーして、文書に貼り付けます。

      スクリプト内の以下のプレースホルダーを、ご使用の環境に合った値に置き換える必要があります。

      • <SID> このサンプルで使用される表を含むデータベースを識別する Oracle システム ID。
      • <JARS URL> ブローカーが実行されているシステム上で、タイプ 4 ドライバー・クラスが含まれる JAR ファイルが置かれている、ローカル・ディレクトリー・パス。
        • Windows の場合: <ORACLE HOME>¥jdbc¥lib
        • Linux の場合: <ORACLE HOME>/jdbc/lib/
      • <PORT NUMBER> データベース・サーバーが listen しているポート番号。Oracle のデフォルトは 1521 です。
      • <SERVER NAME> Oracle が稼働しているホストの名前。例えば localhost
      mqsideleteconfigurableservice MB8BROKER -c JDBCProviders -o SIMPLERROUTEDB
      mqsicreateconfigurableservice MB8BROKER -c JDBCProviders -o SIMPLERROUTEDB 
      -n connectionUrlFormat,connectionUrlFormatAttr1,description,jarsURL,portNumber,
      serverName,type4DatasourceClassName,type4DriverClassName 
      -v "jdbc:oracle:thin:[user]/[password]@[serverName]:[portNumber]:[connectionUrlFormatAttr1],
      <SID>,Simplified Database Routing Sample Database,<JARS URL>,<PORT NUMBER>,
      <SERVER NAME>,oracle.jdbc.xa.client.OracleXADataSource,oracle.jdbc.OracleDriver" 
      
    3. ファイルを保存します。 以下の手順では、ファイルは simplifieddbrouting.bat という名前であると想定しています。
    4. コマンド・コンソールで、simplifieddbrouting.bat を含んでいるフォルダーにナビゲートし、次のようなコマンドを入力してスクリプトを実行します。
      simplifieddbrouting.bat

      このスクリプトを実行すると、以下のタスクが実行されます。

      1. SIMPLERROUTEDB という名前の既存のすべての JDBCProvider エントリーを削除します。
      2. Simplified Database Routing サンプルで使用するための SIMPLERROUTEDB という名前の新規の JDBCProvider エントリーを作成します。
    5. スクリプトの実行が終了するまで待ちます。 スクリプトを初めて実行すると、次のようなメッセージが表示されます。
      BIP8984W: 構成可能なサービス・オブジェクト名 'JDBCProviders : SIMPLERROUTEDB' が見つかりませんでした。
      ユーザーによって、存在しない構成可能サービス・オブジェクト名の削除または変更が試行されました。
      既存の構成可能サービスの名前を mqsireportproperties コマンドで確認してください。
      その後、外部リソース・オブジェクト名を変更してコマンドを再発行してください。
      BIP2087E: ブローカー MB8BROKER が内部構成メッセージを処理できませんでした。
      内部構成メッセージの全体が、正常な処理に失敗しました。
      このメッセージに続くメッセージを使用して、失敗の理由を判別してください。
      BIP8036E: 否定応答を受信しました。
      このコマンドはブローカーに内部構成メッセージを送信しましたが、ブローカーは内部構成メッセージを受信しませんでした。
      WebSphere MQ トランスポートが使用可能かどうか確認してください。
      システム・ログを調べてください。
      
      メッセージを無視します。このメッセージが表示されるのは、スクリプトが、SIMPLERROUTEDB という既存の JDBCProvider レジストリー・エントリーを削除してから、この JDBCProvider レジストリー・エントリーを再作成しようとするためです。 以前にスクリプトを実行したことがなければ、レジストリー内でこのエントリーは見つかりません。
    6. 次のようなコマンドを入力することにより、サンプル SIMPLERROUTEDB JDBCProvider エントリーを使ってデフォルト・ブローカー・レジストリーが正しく更新されたことを確認できます。
      mqsireportproperties MB8BROKER -o SIMPLERROUTEDB -c JDBCProviders -r

      更新が正常に完了すると、このコマンドから報告されるプロパティー出力は次の例のようになります。

      JDBCProviders
        SIMPLERROUTEDB
          connectionUrlFormat='jdbc:oracle:thin:[user]/[password]@[serverName]:[portNumber]:[connectionUrlFormatAttr1]'
          connectionUrlFormatAttr1='orc1'
          connectionUrlFormatAttr2=''
          connectionUrlFormatAttr3=''
          connectionUrlFormatAttr4=''
          connectionUrlFormatAttr5=''
          databaseName='default_Database_Name'
          databaseType='default_Database_Type'
          databaseVersion='default_Database_Version'
          description='Simplified Database Routing Sample Database'
          environmentParms='default_none'
          jarsURL='C:\oracle\oraxx\jdbc\lib'
          portNumber='1521'
          securityIdentity='default_User@default_Server'
          serverName='localhost'
          type4DatasourceClassName='oracle.jdbc.xa.client.OracleXADataSource'
          type4DriverClassName='oracle.jdbc.OracleDriver'
      
      BIP8071I: コマンドが正常に完了しました
      
  2. JDBC プロバイダー SIMPLERROUTEDB に関連付けるユーザー ID とパスワードを指定します。

    mqsisetdbparms および mqsichangeproperties コマンドを使用して、ブローカーが JDBC プロバイダー SIMPLERROUTEDB で使用するユーザー ID とパスワードを指定します。 このユーザー ID は、データベースを作成したときに使用したユーザー ID と同じでなければなりません。

    1. 以下のコマンドを入力して、ユーザー ID およびパスワードをセキュリティー ID と関連付けます。
      mqsisetdbparms MB8BROKER -n jdbc::mySecurityIdentity -u <user ID> -p <password>
    2. 以下のコマンドを入力して、前のステップで定義したセキュリティー ID を、JDBC プロバイダー SIMPLERROUTEDB の securityIdentity プロパティーと関連付けます。
      mqsichangeproperties MB8BROKER -c JDBCProviders -o SIMPLERROUTEDB -n securityIdentity -v mySecurityIdentity
    3. すでにデプロイ済みのメッセージ・フローで JDBC プロバイダーに加えた変更内容を使用できるようにするには、ブローカーを停止してから再始動する必要があります。 サンプルがすでにデプロイ済みの場合、ブローカーを停止してから再始動します。

    詳細は、WebSphere Message Broker 資料のデータベースへの JDBC 接続の使用可能化、および WebSphere Message Broker 資料の DatabaseRoute ノードの中の『DatabaseRoute ノードで JDBC プロバイダー・サービスを使用できるようにする』セクションを参照してください。

Oracle のセットアップに戻る

「データベースのセットアップ」に戻る

サンプルのホームに戻る