ユーザー・データベースにアクセスするよう、メッセージ・フローに ESQL を 作成および構成できます。
始める前に:
このタスクを完了するには、以下のタスクを完了している必要があります。
以下のように、データベースにアクセスするための多くの ESQL ステートメント および関数を使用できます。
Compute、Database、および Filter ノードからユーザー・データベースにアクセスできます。 これらのノードのデータベース・アクセス機能の間に違いはありませんが、 以下の制約事項が適用されます。
データベースにアクセスするには、ブローカーが稼動している システムに適切な ODBC データ・ソースを作成する必要があります。mqsisetdbparms コマンドを使用して 特定のデータベースのユーザー ID とパスワードを設定した場合、ブローカーはこれらの値を使用して データベースに接続します。データベースの値を設定していない場合、 ブローカーは、mqsicreatebroker コマンドを使用して指定された デフォルト・データベース・ユーザー ID とパスワードか、mqsichangebroker コマンドを 使用して変更されたときに指定されたユーザー ID とパスワードを 使用します。
z/OS システム上でブローカーは、ブローカーが開始したタスクの ID を使用してデータベースに接続します。データベース・ユーザー ID に、フローで必要な操作を実行できるだけの特権があることも確認しなければなりません。必要な特権を持たない場合は、 実行時にエラーが発生します。
データベース・トランザクションに関する問題について 詳しくは、トランザクション・モデルを参照してください。
「データベース・エラーで 例外をスローする」属性および「警告をエラーとして扱う」属性を「はい」に設定し、 「トランザクション」属性を「自動」に設定して柔軟性を最大化することを お勧めします。後で、 トランザクション制御のために COMMIT ステートメントと ROLLBACK ステートメントを使用して、 エラーを処理するためのハンドラーを作成できます。