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 die Eigenschaft 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 in der Knoteneigenschaft 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 in der Knoteneigenschaft 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 muss die Ausführung des Befehls mqsisetdbparms ü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.
Aktivieren Sie das Kontrollkästchen der Eigenschaft Ausnahmebedingung für Datenbankfehler ausgeben sowie das Kontrollkästchen der Eigenschaft Warnungen als Fehler behandeln und setzen Sie die Eigenschaft Transaktion auf Automatisch, um maximale Flexibilität zu erzielen. Anschließend können Sie die COMMIT- und ROLLBACK-Anweisungen zur Transaktionssteuerung verwenden und Fehlerbehandlungsprogramme erstellen.