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 - Serveradministration » MobiLink-Ereignisse » Synchronisationsereignisse » Überblick über MobiLink-Ereignisse

 

Ereignisse beim Download

Der folgende Pseudocode bietet einen Überblick über die Abfolge, in der Download-Ereignisse und die gleichnamigen Skripten aufgerufen werden.

Diese Ereignisse finden Sie an der Download-Stelle im vollständigen Ereignismodell ausgeführt (siehe Überblick über MobiLink-Ereignisse).

------------------------------------------------------
prepare_for_download
------------------------------------------------------

modify_last_download_timestamp
fetch the next download timestamp from consolidated
prepare_for_download
if( modify_last_download_timestamp script is defined
    or prepare_for_download script is defined ) {
    COMMIT
}

------------------------------------------------------
download
------------------------------------------------------

begin_download // Connection event.
for each table being synchronized {
   begin_download // Table event.
}
   handle_DownloadData
   for each table being synchronized {
     begin_download_deletes
     for each row in download_delete_cursor {
       if( all primary key columns are NULL ) {
         send TRUNCATE to remote
       } else {
         send DELETE to remote
       }
     }
     end_download_deletes
     begin_download_rows
     for each row in download_cursor {
       send INSERT ON EXISTING UPDATE to remote
     }
     end_download_rows
   }
   modify_next_last_download_timestamp
   for each table being synchronized {
     if( begin_download table script is called ) {
        end_download // Table event
     }
}
if( begin_download connect script is called ) {
   end_download // Connection event
}
   for each table being synchronized {
     download_statistics   // Table event.
   }
     download_statistics   // Connection event.

COMMIT
Hinweise
  • Wenn eine Bestätigung erwartet wird und keine Bestätigung der Downloads vom Client eintrifft, wird die komplette Downloadtransaktion in der konsolidierten Datenbank zurückgesetzt.

    Weitere Hinweise zu entfernten SQL Anywhere-Datenbanken finden Sie unter Erweiterte Option SendDownloadACK (sa). Weitere Hinweise zu entfernten UltraLite-Datenbanken finden Sie unter Synchronisationsparameter Send Download Acknowledgement.

  • Der Download-Datenstrom unterscheidet nicht zwischen Einfügungen und Änderungen. Das Skript, das dem Ereignis download_cursor zugeordnet ist, ist eine SELECT-Anweisung, die die Zeilen für den Download festlegt. Der Client ermittelt, ob die Zeile vorhanden ist, und führt dann den entsprechenden Einfüge- oder Aktualisierungsvorgang aus.

  • Am Ende des Download-Prozesses löscht der Client automatisch Zeilen, die die referenzielle Integrität verletzen.

    Weitere Hinweise finden Sie unter Referenzielle Integrität und Synchronisation.