Sie können gespeicherte Ereignis-Hook-Prozeduren erstellen, um Synchronisationsfehler, MobiLink-Verbindungsfehler und Verletzungen der referenziellen Integrität zu behandeln. In diesem Abschnitt werden Hook-Prozeduren beschrieben, die zur Behandlung von Fehlern und Warnungen verwendet werden. Nach der Implementierung werden die einzelnen Prozeduren automatisch ausgeführt, sobald ein Fehler des betreffenden Typs auftritt.
Eine Verletzung der referenziellen Integrität tritt ein, wenn Zeilen im Download die Fremdschlüsselbeziehungen in der entfernten Datenbank verletzen. Mit den folgenden Ereignis-Hooks können Sie Verletzungen der referenziellen Integrität protokollieren und verarbeiten:
Mit dem Ereignis-Hook sp_hook_dbmlsync_ml_connect_failed können Sie nach einer gescheiterten Verbindungsaufnahme mit dem MobiLink-Server einen neuen Versuch starten, indem Sie einen anderen Verbindungstyp oder eine andere Adresse benutzen. Wenn die Verbindung schließlich fehlschlägt, ruft dbmlsync die Hooks sp_hook_dbmlsync_communication_error und sp_hook_dbmlsync_all_error auf.
Weitere Hinweise finden Sie unter sp_hook_dbmlsync_ml_connect_failed.
Jedes Mal, wenn eine dbmlsync-Fehlermeldung generiert wird, werden die folgenden Hooks aufgerufen:
Zunächst wird je nach Fehlertyp einer der folgenden Hooks aufgerufen: sp_hook_dbmlsync_communication_error, sp_hook_dbmlsync_misc_error oder sp_hook_dbmlsync_sql_error. Die Hooks enthalten Informationen, die sich auf den speziellen Fehlertyp beziehen. 'Sqlcode' und 'sqlstate' beispielsweise weisen auf SQL-Fehler hin.
Dann wird sp_hook_dbmlsync_all_error aufgerufen. Dieser Hook kann zur Protokollierung aller auftretenden Fehler verwendet werden.
Weitere Hinweise finden Sie unter:
Wenn Sie als Reaktion auf einen Fehler eine Synchronisation neu starten möchten, können Sie den Parameter für den Benutzerstatus in sp_hook_dbmlsync_end verwenden.
Weitere Hinweise finden Sie unter sp_hook_dbmlsync_end.
Standardmäßig stoppt die Synchronisation, wenn in einer Hook-Prozedur ein Fehler festgestellt wird. Sie können das Dienstprogramm dbmlsync" jedoch mit der Befehlszeilenoption -eh anweisen, Fehler in Hook-Prozeduren zu ignorieren.
Weitere Hinweise finden Sie unter Erweiterte Option IgnoreHookErrors (eh).
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |