ユーザー・データベースを作成したら、それにアクセスするためにブローカーおよびその実行グループに許可を与えなければなりません。
mqsisetdbparms コマンドを使用して、各データベースにアクセスするためにブローカーが使用できるユーザー ID とパスワードの対を指定します。特定のデータベースに固有の値を定義していないときにブローカーが使用できるデフォルトのユーザー ID とパスワードを定義したい場合は、mqsisetdbparms コマンドを実行して、ResourceName を値 dsn::DSN に選択したデフォルトのユーザー ID とパスワードで設定します。
ブローカーが以前のリリースからマイグレーション済みである場合、ブローカーは独自の使用のためにデータベースにアクセスしたことがあり、mqsicreatebroker コマンドで -u および -p パラメーターを使用して、データベース接続のユーザー ID とパスワードを指定することによって、そのデータベースにアクセスするために使用するユーザー ID とパスワードが定義されている可能性があります。 あるいは、ブローカー・サービス・ユーザー ID とそのパスワード (同じコマンドで -i および -a パラメーターを使用して指定される) を使用した可能性があります。 ブローカーをマイグレーションするとき、これらのパラメーターもマイグレーションされて保管されます。 これらは、特定の ID アクセスが定義されていないデータベースにアクセスする際に、マイグレーション済みブローカーによって使われます。
以下の値および優先順位がブローカーによって使用されます。
z/OS の場合に限り、-n パラメーターで dsn::DSN を指定する際に、パスワードを指定しない場合は、 ブローカーは、その開始したタスクのユーザー ID を使用して、DB2® データベースに接続します。 ブローカーは、ストアード・プロシージャー用に ESQL などで完全修飾 SQL ステートメントを作成する際に、コマンドで指定したユーザー ID を使用します。 ストアード・プロシージャー以外の SQL ステートメントの場合、 スキーマが指定されていない場合は、DB2 は CURRENTSQLID 値を使用します。 CURRENTSQLID 値が未指定の場合、 ブローカーは mqsisetdbparms コマンド上で指定したユーザー ID を使用します。 そのコマンドを使用することによって、ユーザー ID を指定しなかった場合は、DB2 は、ブローカーが開始するタスク ID を使用します。
グローバル整合されたトランザクションに加わっているメッセージ・フローをブローカーにデプロイするのであれば、追加の許可を与える必要があります。 詳しくは、トランザクションのグローバル整合のためのデータベースの構成を参照してください。
DB2 データベースへのアクセスの権限を与えるには、DB2 コントロール・センター、または DB2 コマンド行のいずれかを使用できます。
Oracle データベースへのアクセスを許可するには、次のようにします。