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, über die er ausgelöst wurde. 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.
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. Siehe Routine bei Ausnahmefehlern und atomare zusammengesetzte Anweisungen.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |