DatabaseRoute ノードと DatabaseRetrieve ノードは、ブローカーのレジストリーに保管されている接続詳細を使って JDBC 接続を構成します。その詳細には、標準の DBMS JDBC プロバイダー設定が含まれています。
Oracle データベースを使用する場合、以下の手順に従って、JDBC プロバイダー・エントリーを作成します。 以下のスクリプト内に用意されている mqsicreateconfigurableservice コマンドを使用して、SIMPLERROUTEDB という新しい JDBC プロバイダー・エントリーを作成することができます。 このエントリーは、サンプルで使用されるデータベース・ノード内の「データ・ソース名」プロパティー・フィールドによって参照されます。 また、以下の指示に従って、ブローカーがデータベースへのアクセス時に使用するユーザー ID とパスワードを使用して JDBC プロバイダー・エントリーを構成する方法もあります。
以下のように、データベース用の JDBC プロバイダー・エントリーを作成します。
mqsistart MB8BROKER
スクリプト内の以下のプレースホルダーを、ご使用の環境に合った値に置き換える必要があります。
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"
simplifieddbrouting.bat
このスクリプトを実行すると、以下のタスクが実行されます。
BIP8984W: 構成可能なサービス・オブジェクト名 'JDBCProviders : SIMPLERROUTEDB' が見つかりませんでした。 ユーザーによって、存在しない構成可能サービス・オブジェクト名の削除または変更が試行されました。 既存の構成可能サービスの名前を mqsireportproperties コマンドで確認してください。 その後、外部リソース・オブジェクト名を変更してコマンドを再発行してください。 BIP2087E: ブローカー MB8BROKER が内部構成メッセージを処理できませんでした。 内部構成メッセージの全体が、正常な処理に失敗しました。 このメッセージに続くメッセージを使用して、失敗の理由を判別してください。 BIP8036E: 否定応答を受信しました。 このコマンドはブローカーに内部構成メッセージを送信しましたが、ブローカーは内部構成メッセージを受信しませんでした。 WebSphere MQ トランスポートが使用可能かどうか確認してください。 システム・ログを調べてください。メッセージを無視します。このメッセージが表示されるのは、スクリプトが、SIMPLERROUTEDB という既存の JDBCProvider レジストリー・エントリーを削除してから、この 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: コマンドが正常に完了しました
JDBC プロバイダー SIMPLERROUTEDB に関連付けるユーザー ID とパスワードを指定します。
mqsisetdbparms および mqsichangeproperties コマンドを使用して、ブローカーが JDBC プロバイダー SIMPLERROUTEDB で使用するユーザー ID とパスワードを指定します。 このユーザー ID は、データベースを作成したときに使用したユーザー ID と同じでなければなりません。
mqsisetdbparms MB8BROKER -n jdbc::mySecurityIdentity -u <user ID> -p <password>
mqsichangeproperties MB8BROKER -c JDBCProviders -o SIMPLERROUTEDB -n securityIdentity -v mySecurityIdentity
詳細は、WebSphere Message Broker 資料のデータベースへの JDBC 接続の使用可能化、および WebSphere Message Broker 資料の DatabaseRoute ノードの中の『DatabaseRoute ノードで JDBC プロバイダー・サービスを使用できるようにする』セクションを参照してください。