Sie können ESQL in Nachrichtenflüssen so erstellen und konfigurieren, dass sie auf Benutzerdatenbanken zugreifen können.
Bevor Sie beginnen:
Stellen Sie sicher, dass Sie folgende Tasks ausgeführt haben:
Sie können mehrere ESQL-Anweisungen und -Funktionen für den Zugriff auf Datenbanken verwenden:
Der Zugriff auf Benutzerdatenbanken ist über Rechen-, Datenbank- und Filterknoten möglich. Zwischen diesen Knoten bestehen keine Unterschiede bezüglich der Zugriffsmöglichkeiten auf Datenbanken, es gelten jedoch folgende Einschränkungen.
Um den Datenbankzugriff zu gewährleisten, müssen Sie 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' festgelegt wurden, verwendet der Broker für Zugriffe auf die Datenbank genau diese Werte. Falls Sie keine Werte für eine bestimmte Datenbank festgelegt haben, verwendet der Broker die standardmäßige Datenbankbenutzer-ID und das Kennwort, die Sie im Befehl 'mqsicreatebroker' zum Erstellen des betreffenden Brokers angegeben oder die Sie mit dem Befehl 'mqsichangebroker' geändert haben.
Auf z/OS-Systemen verwendet der Broker die eigene ID für gestartete Tasks, um eine Verbindung mit der Datenbank herzustellen.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. Wenn Sie nicht über die erforderlichen Berechtigungen verfügen, treten während der Laufzeit Fehler auf.
Eine Beschreibung von Problemen mit Datenbanktransaktionen finden Sie unter Das transaktionsorientierte Modell.
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 Steuerroutinen zur Fehlerbehandlung verwenden.