DatabaseRoute ノードと DatabaseRetrieve ノードは、ブローカーのレジストリーに保管されている接続詳細を使って JDBC 接続を構成します。その詳細には、標準の DBMS JDBC プロバイダー設定が含まれています。 DB2 Universal Database を使用する場合、以下の手順に従って、JDBC プロバイダー・エントリーを作成します。
以下のスクリプト内に用意されている mqsicreateconfigurableservice コマンドを使用して、SIMPLERROUTEDB という新しい JDBC プロバイダー・エントリーを作成することができます。 このエントリーは、サンプルで使用されるデータベース・ノード内の「データ・ソース名」プロパティー・フィールドによって参照されます。 また、以下の指示に従って、ブローカーがデータベースへのアクセス時に使用するユーザー ID とパスワードを使用して JDBC プロバイダー・エントリーを構成する方法もあります。
以下のように、データベース用の JDBC プロバイダー・エントリーを作成します。
mqsistart MB8BROKER
mqsideleteconfigurableservice MB8BROKER -c JDBCProviders -o SIMPLERROUTEDB mqsicreateconfigurableservice MB8BROKER -c JDBCProviders -o SIMPLERROUTEDB -n connectionUrlFormat,databaseName,description,jarsURL,portNumber,serverName, type4DatasourceClassName,type4DriverClassName -v "jdbc:db2://[serverName]:[portNumber]/[databaseName]:user=[user];password=[password];, SROUTEDB,Simplified Database Routing Sample Database,<JARS URL>,<PORT NUMBER>, <SERVER NAME>,com.ibm.db2.jcc.DB2DataSource,com.ibm.db2.jcc.DB2Driver"注: 上記のスクリプトは 2 つのコマンドのみで構成されます。 それぞれのコマンドは別個の行で開始および終了する必要があります。 このため、スクリプトをコピー・アンド・ペーストする場合、スクリプト全体は、以下のように 2 行のみを占める必要があります。
mqsideleteconfigurableservice MB8BROKER -c JDBCProviders -o SIMPLERROUTEDB
mqsicreateconfigurableservice MB8BROKER -c JDBCProviders -o SIMPLERROUTEDB -n connectionUrlFormat,databaseName,description,jarsURL,portNumber,serverName,type4DatasourceClassName,type4DriverClassName -v "jdbc:db2://[serverName]:[portNumber]/[databaseName]:user=[user];password=[password];,SROUTEDB,Simplified Database Routing Sample Database,<JARS URL>,<PORT NUMBER>,<SERVER NAME>,com.ibm.db2.jcc.DB2DataSource,com.ibm.db2.jcc.DB2Driver"スクリプトが 2 行でコピー・アンド・ペーストされなかった場合、スクリプトを実行すると、" -n is not recognised as a valid program...." のようなエラーが発生します。 これは、システムが誤ってすべての改行を新規コマンドの開始として認識するためです。
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:db2://[serverName]:[portNumber]/[databaseName]:user=[user];password=[password];' connectionUrlFormatAttr1='' connectionUrlFormatAttr2='' connectionUrlFormatAttr3='' connectionUrlFormatAttr4='' connectionUrlFormatAttr5='' databaseName='SROUTEDB' databaseType='default_Database_Type' databaseVersion='default_Database_Version' description='Simplified Database Routing Sample Database' environmentParms='default_none' jarsURL='C:\Program Files\IBM\SQLLIB\java' portNumber='50000' securityIdentity='default_User@default_Server' serverName='localhost' type4DatasourceClassName='com.ibm.db2.jcc.DB2DataSource' type4DriverClassName='com.ibm.db2.jcc.DB2Driver' BIP8071I: コマンドが正常に完了しました
JDBC プロバイダー SIMPLERROUTEDB と関連付けるユーザー ID とパスワードを指定するには、mqsisetdbparms および mqsichangeproperties コマンドを使用します。 このユーザー 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 プロバイダー・サービスを使用できるようにする』セクションを参照してください。