Ein Fehler in einem Synchronisationsskript tritt auf, wenn ein Vorgang im Skript während der Ausführung durch den MobiLink-Server fehlschlägt. Bei SQL-Skripten gibt das DBMS einen SQLCODE und eine Fehlermeldung an den MobiLink-Server zurück, um die Fehlerart anzuzeigen. Jedes DBMS einer konsolidierten Datenbank verfügt über eigene SQLCODE-Werte und Meldungen. Standardmäßig setzt der MobiLink-Server die Transaktion in der konsolidierten Datenbank zurück, protokolliert den Fehler und bricht die Synchronisation ab.
Wenn während des Aufrufs eines SQL-Datenskripts ein Fehler auftritt, startet der MobiLink-Server das Ereignis handle_error oder handle_odbc_error. Wenn diese Fehlerbehandlungsskripten definiert sind, ruft der MobiLink-Server sie auf und übergibt mehrere Parameter mit Informationen über die Art und den Kontext des Fehlers. Ein Parameter ist ein Ausgabewert namens action_code, der den MobiLink-Server anweist, wie er auf den Fehler reagieren soll. Der Parameter action_code weist den MobiLink-Server an, entweder den Fehler zu ignorieren oder die Synchronisation abzubrechen.
Die Fehlerbehandlungsskripten werden nicht für alle SQL-Fehler aufgerufen. Nur Datenskripten verursachen das Aufrufen der Fehlerbehandlungsskripten. Wenn Fehler in Nicht-Datenskripten auftreten, setzt der MobiLink-Server die Transaktion in der konsolidierten Datenbank zurück, protokolliert den Fehler und bricht die Synchronisation ab.
Falls das DBMS Ihrer konsolidierten Datenbank die Verarbeitungsroutine bei Ausnahmefehlern unterstützt, sollten Sie in Betracht ziehen, diese statt der Fehlerbehandlungsskripten zu verwenden, besonders wenn Sie bestimmte Fehler in Datenskripten ignorieren müssen. Die Verarbeitungsroutine bei Ausnahmefehlern liefert fast immer eine bessere Performance als die Fehlerbehandlungsskripten.
Wenn ein handle_error- oder handle_odbc_error-Skript selbst einen Fehler verursacht, setzt der MobiLink-Server die Transaktion in der konsolidierten Datenbank zurück, protokolliert den Fehler und bricht die Synchronisation ab.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |