メッセージ・フローからの接続をサポートするように、ブローカーおよびデータベースを構成します。
始める前に:
ブローカーとデータベースの両方を構成して、メッセージ・フロー中での読み取り、書き込み、および更新操作をサポートするようにしなければなりません。
- 各ノードの「データ・ソース」プロパティーを、アクセスしたいデータベースの名前 (すなわち ODBC DSN) に設定します。
- ESQL ステートメントで FROM 節を使用して、複数のデータベースにアクセスできますが、同じノードからアクセスされるすべてのデータベースは、そのノードの「データ・ソース」プロパティーで指定されたデータベースと同じ ODBC 機能を持っている必要があります。
これらのデータベース・タイプ (例えば DB2® または Oracle)、リリース・レベル (例えば、リリース 9.1)、およびプラットフォームが同じ場合には、この要件は常に満たされます。 それ以外の組み合わせのデータベースが、同じ ODBC 機能を持つ場合もあります。
そのノードの「データ・ソース」プロパティーで指定されたデータベースと同じ ODBC 機能を持たないデータベースに対してノードがアクセスを試行すると、ブローカーはエラー・メッセージを生成します。
mqsicvp コマンドを ODBC Test Tool として使用できます。 このテスト・ツールを 2 つのデータベースに対して同時に実行でき、これら 2 つのデータ・ソースを同じノードで一緒に使用できるかどうかを確かめることができます。
また、このテスト・ツールを ESQL を構成する前に使用すると、データ・ソースに存在する場合のある制約事項を表示できます。
詳しくは、データベースへの ODBC 接続の使用可能化を参照してください。
- ブローカーを次のように構成して、そのデータベースに接続できるようにします。
- ブローカーを実行しているシステム上で、ODBC データ・ソース接続を作成します。
- 次のオプションのいずれかを使用して、データベースに接続するためにブローカーが使用するユーザー ID とパスワードを定義します。
- 特定のデータベースのユーザー ID とパスワードを設定するには、mqsisetdbparms コマンドを使用するか、z/OS® でカスタマイズ・データ・セット <hlq>.SBIPPROC の JCL メンバー BIPSDBP をサブミットします。
- 特定の値を設定していないすべてのデータ・ソース名に使用するブローカーのユーザー ID とパスワードのデフォルト値を定義するには、mqsisetdbparms コマンドを使用するか、JCL ファイル BIPSDBP を使用して、dsn::DSN を指定します。
- デフォルトのユーザー ID とパスワードをまだ設定していない場合には、次のようにします。
- Windows では、サービスのユーザー ID とパスワードを使ってデータベースに接続します。
- z/OS では、ブローカーが開始したタスク ID が使用されます。 使用されるスキーマは、mqsisetdbparms コマンドを使ってセットアップされたデフォルト DSN または特定の DSN 用に定義されたスキーマです。 どちらも存在しない場合には、BIPDSNAO ファイル内の CURRENTSQLID の値が使用されます。 CURRENTSQLID が設定されていない場合、ブローカーの開始済みタスク・ユーザー ID がデフォルトとしてスキーマで使用されます。
- その他のプラットフォームでは、データベースへの接続が失敗します。
- データベース・ベンダーが提供する管理機能を使用して、そのユーザー ID に対してデータベースにアクセスする許可をセットアップしてください。
そのようにしない場合、メッセージ・フローが実行するとブローカーがエラーを生成します。
- 単一の SELECT FROM 節がある場合、単一のデータベース中に存在する表にのみアクセス可能です。
- 数字のみから構成されている名前を持つデータベース列にアクセスする場合には、例えば "0001" のように、名前を二重引用符で囲む必要があります。 この制限があるので、引用符を付けずに名前を返す SELECT * ステートメントは使用できません。そのようにすると名前が無効になり、ブローカーは例外を出します。
データベースにアクセスするために使用できる、ESQL ステートメントと機能の詳細については、ESQL を使用するデータベースとの相互作用を参照してください。