In diesem Abschnitt wird beschrieben, wie Broker und Datenbank konfiguriert werden, damit sie Verbindungen aus Nachrichtenflüssen unterstützen.
Bevor Sie beginnen:
Sowohl Ihr Broker als auch Ihre Datenbanken müssen so konfiguriert werden, dass sie Lese-, Schreib- und Aktualisierungsvorgänge in Ihren Nachrichtenflüssen unterstützen.
- Setzen Sie die Eigenschaft Datenquelle für jeden Knoten auf den Namen (d. h. den ODBC-DSN) der Datenbank, auf die zugegriffen werden soll.
- Sie können auf mehr als eine Datenbank zugreifen, indem Sie die FROM-Klausel in der ESQL-Anweisung verwenden. Doch alle
Datenbanken, auf die von demselben Knoten zugegriffen wird, müssen über die gleichen ODBC-Funktionen verfügen wie die Datenbank, die in der
Eigenschaft Datenquelle dieses Knotens angegeben wurde.
Diese Voraussetzung ist immer erfüllt, wenn es sich um Datenbanken desselben Typs (z. B. DB2 oder Oracle) und derselben Version (z. B. Release 9.1) handelt und wenn die Datenbanken auf derselben Plattform ausgeführt werden. Möglicherweise verfügen aber auch Datenbanken, die in anderer Kombination eingesetzt werden, über dieselben ODBC-Funktionen.
Wenn ein Knoten versucht, auf eine Datenbank zuzugreifen, die nicht über dieselben ODBC-Funktionen verfügt wie die Datenbank, die in der Eigenschaft Datenquelle auf diesem Knoten angegeben wurde, gibt der Broker eine Fehlernachricht aus.
Den Befehl mqsicvp können Sie als ODBC-Testtool verwenden. Dieses Testtool kann gleichzeitig an zwei Datenbanken ausgeführt werden. Dabei ermittelt das Tool, ob die beiden Datenquellen gemeinsam im gleichen Knoten verwendet werden können.
Vor der Erstellung der ESQL lassen sich mit dem Testtool auch Einschränkungen der Datenquelle ermitteln. Weitere Informationen hierzu finden Sie im Abschnitt ODBC-Verbindungen zu den Datenbanken herstellen.
- Konfigurieren Sie den Broker so, dass er eine Verbindung zur Datenbank herstellen kann:
- Erstellen Sie auf dem System, auf dem der Broker aktiv ist, ODBC-Datenquellenverbindungen.
- Geben Sie mit einer der folgenden Optionen die Benutzer-ID und das Kennwort ein, mit dem der Broker die Verbindung zur Datenbank herstellen soll:
- Wenn Sie die Benutzer-ID und das Kennwort für eine bestimmte Datenbank festlegen möchten, führen Sie den Befehl
mqsisetdbparms aus oder übergeben Sie unter z/OS das
JCL-Mitglied BIPSDBP im Anpassungsdatensatz <hlq>.SBIPPROC.
- Wenn Sie die Standardwerte für das Benutzer-ID/Kennwort-Paar definieren möchten, das der Broker für alle Datenquellennamen
verwenden soll, für die keine spezifischen Werte angegeben wurden, führen Sie den Befehl
mqsisetdbparms aus oder geben Sie in der JCL-Datei BIPSDBP den Eintrag
dsn::DSN an.
- Folgendes geschieht, wenn Sie keine Standardwerte für die Benutzer-ID und das Kennwort festgelegt haben:
- Unter Windows wird mit der Servicebenutzer-ID und dem Kennwort eine Verbindung zur Datenbank hergestellt.
- Unter z/OS wird die vom Broker gestartete Task-ID verwendet. Es wird das Schema verwendet, das für einen bestimmten Datenquellennamen oder einen standardmäßigen Datenquellennamen mit dem Befehl mqsisetdbparms konfiguriert wurde. Wenn keiner der beiden Namen vorhanden ist, wird der Wert von CURRENTSQLID in der Datei BIPDSNAO verwendet. Wenn CURRENTSQLID nicht festgelegt ist, wird für das Schema standardmäßig die gestartete Task-Benutzer-ID für den Broker verwendet.
- Auf anderen Plattformen schlägt die Verbindung zur Datenbank fehl.
- Richten Sie für die Benutzer-ID die Berechtigungen für den Zugriff auf die Datenbank mittels der vom Datenbankhersteller bereitgestellten Verwaltungsfunktionen ein.
Falls Sie dies nicht tun, generiert der Broker während der Ausführung des Nachrichtenflusses einen Fehler.
- Mit einer einzelnen SELECT FROM-Klausel können Sie nur auf die Tabellen einer einzigen Datenbank zugreifen.
- Wenn Sie auf Datenbankspalten zugreifen müssen, deren Namen nur aus numerischen Zeichen bestehen, müssen Sie die Namen in doppelten Anführungszeichen einschließen, zum Beispiel: "0001". Aufgrund dieser Einschränkung können Sie keine SELECT *-Anweisung verwenden, die die Namen ohne Anführungszeichen zurückgibt. Die Namen wären in diesem Fall ungültig und würden eine Ausnahme hervorrufen.
Informationen zu den ESQL-Anweisungen und -Funktionen für den Zugriff auf Datenbanken finden Sie im Abschnitt Interaktion mit der Datenbank über ESQL.