Ein Download-Fehler wird durch einen Kommunikationsfehler während des Downloads verursacht oder wenn ein Benutzer versucht, den Download abzubrechen. Die Funktion des Download-Neustarts unterstützt Sie bei der Wiederherstellung nach einem Download-Fehler und kann Ihnen dabei helfen, eine erneute Übertragung des gesamten Downloads zu vermeiden. Für diese Funktion gibt es unterschiedliche Implementierungen für entfernte Adaptive Server Anywhere- und UltraLite-Datenbanken.
Falls MobiLink während eines Downloads einen Fehler feststellt, wird kein Teil des Downloads in die entfernte Datenbank übernommen. Der Teil des Downloads, der erfolgreich übertragen wurde, wird jedoch auf dem entfernten Gerät in einer temporären Datei gespeichert. Sie können nicht direkt auf diese Datei zugreifen, doch dbmlsync verfügt über Funktionen für die Nutzung der Datei. Sie können mit dieser Download-Neustartfunktion langwierige Wiederholungen von Datenübertragungen vermeiden. Sie können außerdem Download-Fehler möglicherweise automatisch beheben.
Es gibt drei Möglichkeiten, den Download-Neustart zu implementieren. In allen Fällen schlägt der Download-Neustart fehl, wenn neue Daten übertragen werden sollen, und dbmlsync bricht ab.
-dc Wenn ein Download fehlgeschlagen ist, können Sie den Download beim nächsten Aufruf von dbmlsync mit der Option -dc neu starten. Wenn ein Teil des fehlgeschlagenen Downloads übertragen wurde, muss dbmlsync diese Daten nicht erneut übertragen.
Weitere Hinweise finden Sie unter Option -dc.
Erweiterte Option ContinueDownload (cd) Wenn die erweiterte Option -cd in der Befehlszeile dbmlsync verwendet wird, hat sie dieselbe Funktion wie die Option -dc. Sie können diese Option auch in der Datenbank speichern oder mithilfe von sp_hook_dbmlsync_set_extended_options in einer einzelnen Synchronisation verwenden. Im zweiten Fall können Sie in der Einstiegsprozedur Programmlogik anwenden, um einen neu startbaren Download neu zu beginnen, wenn eine Download-Datei vorhanden ist und eine bestimmte Größe hat oder die Datei vorhanden ist und weniger als eine bestimmte Anzahl von Stunden oder Tagen alt ist.
Weitere Hinweise finden Sie unter Erweiterte Option ContinueDownload (cd) und sp_hook_dbmlsync_set_extended_options.
Einstiegsprozedur sp_hook_dbmlsync_begin Mit dem Parameter restart können Sie veranlassen, dass ein Download neu gestartet wird.
Weitere Hinweise finden Sie unter sp_hook_dbmlsync_download_end.
Sie können das Verhalten von UltraLite-Anwendungen nach einem fehlgeschlagenen Download wie folgt steuern:
Wenn Sie den Synchronisationsparameter Keep Partial Download bei der Synchronisation auf "true" setzen und während des Downloads ein Fehler auftritt, übernimmt UltraLite den Teil der Änderungen, der übertragen wurde. UltraLite setzt den Synchronisationsparameter Kept Partial Download ebenfalls auf "true".
Die UltraLite-Datenbank ist zu diesem Zeitpunkt möglicherweise inkonsistent. Abhängig von Ihrer Anwendung wollen Sie möglicherweise sicherstellen, dass die Synchronisation erfolgreich beendet oder zurückgesetzt wird, bevor Sie eine Änderung der Daten zulassen.
Weitere Hinweise finden Sie unter Synchronisationsparameter "Keep Partial Download" und Synchronisationsparameter "Kept Partial Download".
Um den Download wieder aufzunehmen, setzen Sie den Synchronisationsparameter Resume Partial Download auf "true" und synchronisieren erneut.
Weitere Hinweise finden Sie unter Synchronisationsparameter "Resume Partial Download".
Die neu gestartete Synchronisation führt keinen Upload aus und überträgt nur Änderungen, die vom fehlgeschlagenen Download übertragen worden wären. Das heißt, der fehlgeschlagene Download wird abgeschlossen, doch es werden keine Änderungen synchronisiert, die seit dem letzten Download-Versuch vorgenommen wurden. Um diese Änderungen zu erhalten, müssen Sie erneut synchronisieren, nachdem der fehlgeschlagene Download-Versuch zu Ende gebracht wurde.
Wenn Sie den Download erneut starten, werden automatisch zahlreiche Synchronisationsparameter der fehlgeschlagenen Synchronisation verwendet. Der Publikationsparameter wird z.B. ignoriert: Die Synchronisation überträgt die Publikationen, die vom ursprünglichen Download angefordert wurden. Lediglich die Parameter Resume Partial Download (muss auf "true" gesetzt werden) und User Name müssen gesetzt werden. Sie können auch den Parameter Keep Partial Download für den Fall einer weiteren Unterbrechung setzen. Die Parameter Disable Concurrency, Observer und User Data werden von der wieder aufgenommenen Synchronisation berücksichtigt.
Um die Änderungen aus dem fehlgeschlagenen Download zurückzusetzen, ohne die Synchronisation wieder aufzunehmen, rufen Sie die Funktion zum Zurücksetzen der Änderungen auf. Für Embedded SQL ist dies die Funktion ULRollbackPartialDownload. Für UltraLite-Komponenten ist dies eine Methode für das Objekt Connection.
MobileVB RollbackPartialDownload-Methode.
UltraLite.NET Methode ULConnection.RollbackPartialDownload in der API-Referenz
Native UltraLite für Java Methode ianywhere.native_ultralite.Connection.rollbackPartialDownload in der API-Referenz
UltraLite C++-Komponente ULConnection::RollbackPartialDownload in der API-Referenz
UltraLite ActiveX RollbackPartialDownload-Methode.
Embedded SQL ULRollbackPartialDownload-Funktion.
Statische C++ API-Schnittstelle RollbackPartialDownload-Methode.
Static Java API-Schnittstelle Diese Funktion ist in der Static Java API-Schnittstelle nicht verfügbar
Sie sollten die Änderungen aus einem fehlgeschlagenen Download zurücksetzen, falls die Synchronisation nicht abgeschlossen werden kann (der Server oder das Netzwerk ist möglicherweise nicht verfügbar) und Sie die Datenkonsistenz bewahren wollen, während der Endbenutzer weiter mit der Anwendung arbeiten kann.
Weitere Hinweise zu Kommunikationsfehlern finden Sie unter Fehlermeldungen zur MobiLink-Kommunikation.
SQL Anywhere Studio 9.0.1
Copyright © 1989–2004 Sybase Inc. Teil-Copyright © 2001–2004 iAnywhere Solutions Inc. Alle Rechte vorbehalten.