Der folgende Pseudocode zeigt die verfügbaren Ereignisse und veranschaulicht den Punkt, an dem jedes einzelne Ereignis im Synchronisationsprozess aufgerufen wird. Zum Beispiel ist sp_hook_dbmlsync_abort der zuerst zu aktivierende Ereignis-Hook.
Jeder Hook ist mit Parameterwerten versehen, die Sie beim Implementieren der Prozedur verwenden können. In einigen Fällen können Sie den Wert ändern, damit ein neuer Wert zurückgegeben wird, andere Parameter wiederum sind schreibgeschützt. Diese Parameter sind keine Argumente gespeicherter Prozeduren. An die gespeicherten Prozeduren des Hooks werden keine Argumente übergeben. Stattdessen werden die Argumente durch Lesen und Ändern von Zeilen in der Tabelle #hook_dict ausgetauscht.
Beispiel: Die Prozedur sp_hook_dbmlsync_begin hat einen Parameter für den MobiLink-Benutzer, also den MobiLink-Benutzer, der synchronisiert wird. Sie können diesen Wert aus der Tabelle #hook_dict abrufen.
Wenngleich die Sequenz Ähnlichkeiten mit der Hook-Sequenz auf dem MobiLink-Server hat, gibt es nur wenige Überschneidungen in der Art der Logik, die Sie den konsolidierten und entfernten Datenbanken hinzufügen. Die beiden Schnittstellen sind daher getrennt und unterschiedlich.
Wenn ein *_begin-Hook erfolgreich verarbeitet ist, wird der entsprechende *_end-Hook unbeschadet von Fehlern aufgerufen, die nach dem *_begin-Hook auftreten. Wenn der *_begin-Hook nicht definiert ist, Sie aber einen *_end-Hook definiert haben, wird *_end-Hook aufgerufen, sofern nicht ein Fehler vor dem Zeitpunkt auftritt, an dem der *_begin-Hook normalerweise aufgerufen würde.
Wenn der Hook Daten in Ihrer Datenbank ändert, werden alle Änderungen bis einschließlich sp_hook_dbmlsync_logscan_begin in der laufenden Synchronisationssitzung synchronisiert. Danach werden Änderungen in der nächsten Sitzung synchronisiert.
sp_hook_dbmlsync_abort sp_hook_dbmlsync_set_extended_options loop until return codes direct otherwise ( sp_hook_dbmlsync_abort sp_hook_dbmlsync_delay ) sp_hook_dbmlsync_abort // start synchronization sp_hook_dbmlsync_begin // upload events for each upload segment // a normal synchronization has one upload segment // a transactional upload has one segment per transaction // an incremental upload has one segment per upload piece sp_hook_dbmlsync_logscan_begin //not called for scripted upload sp_hook_dbmlsync_logscan_end //not called for scripted upload sp_hook_dbmlsync_set_ml_connect_info //only called during first upload sp_hook_dbmlsync_upload_begin sp_hook_dbmlsync_set_upload_end_ progress //only called for scripted upload sp_hook_dbmlsync_upload_end next upload segment // download events sp_hook_dbmlsync_validate_download_file (only called when -ba option is used) for each download segment sp_hook_dbmlsync_download_begin for each table sp_hook_dbmlsync_download_table_begin sp_hook_dbmlsync_download_table_end next table sp_hook_dbmlsync_download_end sp_hook_dbmlsync_schema_upgrade // end synchronization sp_hook_dbmlsync_end sp_hook_dbmlsync_process_exit_code sp_hook_dbmlsync_log_rescan |
Weitere Hinweise zu Upload-Optionen finden Sie unter Option -tu und Erweiterte Option Increment (inc).
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |