Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - Datenbankadministration » Pflege der Datenbank » Aufgaben mit Zeitplänen und Ereignissen automatisieren » Interne Verarbeitung der Abfolgeplanung und Ereignisse

 

Ausführungsweise von Event-Handlern

Wenn ein Event-Handler ausgelöst wird, richtet das System eine temporäre interne Verbindung ein, auf der der Event-Handler ausgeführt wird. Der Handler wird nicht über die Verbindung ausgeführt, die sie ausgelöst hat, und daher sind Anweisungen wie MESSAGE ... TO CLIENT, die mit der Clientanwendung interagieren, in Event-Handlern nicht sinnvoll. Außerdem sind Anweisungen nicht zulässig, die Ergebnismengen zurückgeben.

Die temporäre Verbindung, auf der die Verarbeitungsroutine läuft, wird in die Zählung der Verbindungen für die Lizenzierung nicht einbezogen, und die durch die Option login_procedure angegebene Prozedur wird bei Ereignisverbindungen nicht ausgeführt.

Für die Ereigniserstellung ist die DBA-Berechtigung erforderlich, und Ereignisse werden mit den Berechtigungen ihres Erstellers ausgeführt. Wenn die Event-Handler ohne DBA-Berechtigung ausgeführt werden sollen, rufen Sie eine Prozedur aus der Verarbeitungsroutine auf, da gespeicherte Prozeduren mit den Berechtigungen ihres Erstellers ablaufen.

Etwaige Ereignisfehler werden im Meldungslog des Datenbankservers protokolliert.

Event-Handler und Fehler

Die Transaktion in einem Event-Handler wird festgeschrieben, wenn keine Fehler während der Ausführung erkannt werden, und sie wird zurückgesetzt, wenn Fehler erkannt werden.

Wenn ein Fehler in einer atomaren zusammengesetzten Anweisung auftritt und diese Anweisung eine Ausnahmeroutine hat, die den Fehler handhabt, werden die in der Anweisung durchgeführten Änderungen nicht festgeschrieben. Wenn die Ausnahmeroutine den Fehler nicht behandelt oder einen weiteren Fehler bewirkt (einschließlich via RESIGNAL), werden die in der atomaren Anweisung durchgeführten Änderungen rückgängig gemacht.