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 - Erste Orientierung » Einführung in die MobiLink-Technologie » Einführung in die MobiLink-Synchronisation » Der Synchronisationsprozess

 

Verfahren bei Synchronisationsfehlern

Die MobiLink-Synchronisation ist fehlertolerant. Wenn z.B. eine Kommunikationsverbindung während einer Synchronisation abbricht, bleiben sowohl die entfernte Datenbank als auch die konsolidierte Datenbank in einem konsistenten Zustand.

Auf dem Client wird ein Fehlschlag durch einen Rückgabecode angegeben.

Je nach Ursache werden Synchronisationsfehler unterschiedlich bearbeitet. In den folgenden Fällen wird auf unterschiedliche Weise verfahren:

  • Fehlschlag beim Upload   Wenn der Fehlschlag auftritt, während der Upload erstellt oder angewendet wird, behält die entfernte Datenbank genau den Zustand bei, den sie zu Beginn der Synchronisation hatte. Auf dem Server werden alle bereits ausgeführten Teile des Upload wieder zurückgesetzt.

  • Fehlschlag zwischen Upload und Download   Wenn der Fehlschlag eintritt, nachdem der Upload abgeschlossen wurde und bevor der MobiLink-Client den Download erhalten hat, kann der Client nicht sicher sein, ob die übertragenen Änderungen erfolgreich in die konsolidierte Datenbank übernommen wurden. Der Upload kann vollständig ausgeführt und festgeschrieben worden sein. Der Fehlschlag könnte aber auch eingetreten sein, bevor der Server den gesamten Upload übernommen hat. Der MobiLink-Server setzt unvollständige Transaktionen in der konsolidierten Datenbank automatisch zurück.

    Beim MobiLink-Client werden alle Upload-Änderungen erfasst, für den Fall, dass sie nochmals übertragen werden müssen. Bei der nächsten Synchronisation des MobiLink-Clients fragt er daher vor dem Erstellen des neuen Upload zunächst den Status des letzten Uploads ab. Wurde der letzte Upload nicht festgeschrieben, enthält der neue Upload auch alle Änderungen des letzten Uploads.

  • Fehlschlag beim Download   Wenn auf dem entfernten Gerät während des Downloads ein Fehler auftritt, werden alle bereits ausgeführten Teile des Downloads zurückgesetzt, und die entfernte Datenbank behält den Zustand bei, den sie vor dem Download hatte.

    Wenn Sie die blockierende Downloadbestätigung verwenden, setzt der MobiLink-Server auch die Downloadtransaktion in der konsolidierten Datenbank zurück.

    Wenn Sie eine nicht blockierende Downloadbestätigung verwenden, wurde die Downloadtransaktion bereits festgeschrieben, doch weder das Skript nonblocking_download_ack noch das Skript publication_nonblocking_download_ack wird aufgerufen.

    Wenn Sie keine Downloadbestätigung verwenden, gibt es bei einem Downloadfehler keine serverseitigen Auswirkungen.

Bei keinem der Fehlschläge gehen Daten verloren. MobiLink-Server und MobiLink-Client regeln das für Sie. Der Entwickler oder Benutzer muss sich nicht damit befassen, einen konsistenten Datenbestand in der Anwendung aufrechtzuerhalten.