Über ESQL auf Datenbanken zugreifen

In ESQL stehen eine Reihe von Anweisungen und Funktionen für den Zugriff auf Datenbanken zur Verfügung:
Der Zugriff auf Benutzerdatenbanken ist über Rechen-, Datenbank- und Filterknoten möglich.
Anmerkung: Zwischen diesen Knoten bestehen keine Unterschiede bezüglich der Zugriffsmöglichkeiten auf Datenbanken; die unterschiedlichen Namen sind teils älteren Ursprungs, teils sind sie auf die Verwendungsweise des jeweiligen Knotens zurückzuführen.
Sie können mit den Daten in den Datenbanken Nachrichten aktualisieren oder erstellen bzw. mit den in den Nachrichten enthaltenen Informationen Daten in den Datenbanken aktualisieren bzw. erstellen.
Beachten Sie Folgendes:
  • Für jeden Knoten, von dem ESQL-Datenbankanweisungen oder -funktionen verwendet werden, muss das Attribut "data source" (Datenquelle) auf den Namen (d. h. den ODBC-DSN) der Datenbank gesetzt sein. Der Zugriff auf die Datenbank muss möglich sein, und die Datenbank muss aktiv sein und Verbindungsanforderungen des Brokers akzeptieren.
  • Alle Datenbanken, auf die von demselben Knoten aus zugegriffen wird, müssen über die gleiche OBDC-Funktionalität verfügen wie die Datenbank, die im Knotenattribut Datenquelle angegeben wurde. Diese Voraussetzung ist immer dann erfüllt, wenn es sich um Datenbanken desselben Typs (beispielsweise DB2 oder Oracle) und derselben Version (beispielsweise Release 8.1 CSD3) handelt, oder wenn die Datenbanken auf derselben Plattform ausgeführt werden. Möglicherweise verfügen andere Datenbanken, die kombiniert eingesetzt werden, nicht über dieselbe ODBC-Funktion. Wenn ein Knoten versucht auf eine Datenbank zuzugreifen, die nicht über dieselbe ODBC-Funktionalität verfügt wie die Datenbank, die im Knotenattribut Datenquelle angegeben wurde, gibt der Broker eine Fehlernachricht aus.
  • Alle Tabellen, auf die in einer SELECT FROM-Klausel verwiesen wird, müssen sich in derselben Datenbank befinden.

Sie müssen sicherstellen, dass geeignete ODBC-Datenquellen auf dem System erstellt wurden, auf dem der Broker aktiv ist. Wenn die Benutzer-ID und das Kennwort einer bestimmten Datenbank über den Befehl mqsisetdbparms gesetzt wurden, muss der Broker für Zugriffe auf die Datenbank genau diese Werte verwenden. Wurden keine Benutzer-ID und kein Kennwort gesetzt, verwendet der Broker die Standardwerte für die Datenbankbenutzer-ID und das Datenbankkennwort, die über den Befehl mqsicreatebroker festgelegt (oder über einen späteren mqsichangebroker-Befehl geändert) wurden.

Auf z/OS-Systemen:
  • Der Broker verwendet die ID der gestarteten Brokertask für den Zugriff auf die Datenbank.
  • Die Ausführung des mqsisetdbparms-Befehls muss über das JCL-Member BIPSDBP in der Anpassungsdatei <hlq>.SBIPPROC erfolgen.

Sie müssen außerdem sicherstellen, dass die Datenbankbenutzer-IDs über Berechtigungen für die Operationen verfügen, die für den Nachrichtenfluss notwendig sind. Andernfalls kommt es zu Fehlern.

Sie sollten die Attribute "Ausnahme für Datenbankfehler ausgeben" und "Warnungen als Fehler behandeln" auf 'yes' und das Attribut "transaction" (Transaktion) auf 'automatic' setzen, da so eine größtmögliche Flexibilität erreicht wird. Anschließend können Sie die COMMIT- und ROLLBACK-Anweisungen zur Transaktionssteuerung und Fehlerbehandlung verwenden.

Zugehörige Konzepte
Nachrichtenflüsse - Übersicht
Übersicht zu ESQL
Nachrichten modellieren
Zugehörige Tasks
Nachrichtenfluss entwerfen
Nachrichtenflussinhalt definieren
Koordinierte Nachrichtenflüsse konfigurieren
Von Nachrichtenflüssen auf Datenbanken zugreifen
ESQL-Dateien verwalten
Zugehörige Verweise
Befehl 'mqsichangebroker'
Befehl 'mqsicreatebroker'
Befehl 'mqsisetdbparms'
Rechenknoten
Datenbankknoten
Filterknoten
ESQL-Referenz
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2005 Letzte Aktualisierung: Nov 17, 2005
ak05800_