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

SQL Anywhere 11.0.1 (Deutsch) » MobiLink - Clientadministration » SQL Anywhere-Clients für MobiLink » Ereignis-Hooks für SQL Anywhere-Clients » Einführung in dbmlsync-Hooks » Hook-Prozeduren verwenden

 

Fehlerbehandlung und Warnungen in Hook-Prozeduren

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.

Umgang mit RI-Verletzungen

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:

Umgang mit MobiLink-Verbindungsfehlern

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.

Umgang mit dbmlsync-Fehlern

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.

Fehler ignorieren

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).