Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (Deutsch) » UltraLite - C- und C++-Programmierung » Anwendungsentwicklung » UltraLite C++-Anwendungsentwicklung mit Embedded SQL » Synchronisation für eine Embedded SQL-Anwendung einrichten » Überwachen und Abbrechen der Synchronisation

 

Informationen zum Synchronisationsstatus

Die Callback-Funktion, mit der Sie die Synchronisation überwachen, verwendet die ul_sync_status-Struktur als Parameter.

Die Struktur ul_sync_status hat folgende Mitglieder:



struct ul_sync_status {
    struct {
       ul_u_long   bytes;
       ul_u_long   inserts;
       ul_u_long   updates;
       ul_u_long   deletes;
     }               sent;
    struct {
       ul_u_long   bytes;
       ul_u_long   inserts;
       ul_u_long   updates;
       ul_u_long   deletes;
     }               received;
    p_ul_sync_info  info;
    ul_sync_state   state;
    ul_u_short       db_table_count;
    ul_u_short       table_id;
    char             table_name[];
    ul_wchar         table_name_w2[];
    ul_u_short       sync_table_count;
    ul_u_short       sync_table_index;
    ul_sync_state    state;
    ul_bool          stop;
    ul_u_short       flags;
    ul_void *        user_data;
    SQLCA *          sqlca;
    ul_u_long        current_download_row_count;
    ul_u_long        total_download_row_count;
}
  • sent.inserts   Die Anzahl der bisher eingefügten heraufgeladenen Zeilen.

  • sent.updates   Die Anzahl der bisher aktualisierten heraufgeladenen Zeilen.

  • sent.deletes   Die Anzahl der bisher gelöschten heraufgeladenen Zeilen.

  • sent.bytes   Die Anzahl der Byte, die bisher heraufgeladen wurden.

  • received.inserts   Die Anzahl der bisher eingefügten heruntergeladenen Zeilen.

  • received.updates   Die Anzahl der bisher aktualisierten heruntergeladenen Zeilen.

  • received.deletes   Die Anzahl der bis dahin gelöschten heruntergeladenen Zeilen.

  • received.bytes   Die Anzahl der Bytes, die bisher heruntergeladen wurden.

  • info   Gibt einen Zeiger auf die ul_sync_info-Struktur zurück.

  • db_table_count   Gibt die Anzahl der Tabellen in der Datenbank zurück.

  • table_id   Gibt die aktuelle Tabellennummer (in Bezug auf 1) der im Upload oder Download begriffenen Tabelle zurück. Bei dieser Nummer werden Werte übersprungen, wenn nicht alle Tabellen synchronisiert werden. Außerdem wird diese Nummer nicht unbedingt hochgezählt.

  • table_name[]   Gibt den Namen der aktuellen Tabelle zurück.

  • table_name_w2[]   Gibt den Namen der aktuellen Tabelle zurück (Version mit breiten Zeichen). Dieses Feld wird nur unter Windows (PC und Mobile) gefüllt.

  • sync_table_count   Gibt die Anzahl der Tabellen an, die synchronisiert werden.

  • sync_table_index   Gibt die Nummer der Tabelle im Upload oder Download zurück, beginnend mit 1 und endend mit dem sync_table_count-Wert. Bei dieser Nummer werden Werte übersprungen, wenn nicht alle Tabellen synchronisiert werden.

  • state   Einer der folgenden Statuswerte:

    • UL_SYNC_STATE_STARTING   Es wurden noch keine Synchronisationsaktionen ausgeführt.

    • UL_SYNC_STATE_CONNECTING   Der Synchronisationsdatenstrom wurde erstellt, aber noch nicht geöffnet.

    • UL_SYNC_STATE_SENDING_HEADER   Der Synchronisationsdatenstrom wurde geöffnet und der Header wird demnächst gesendet.

    • UL_SYNC_STATE_SENDING_TABLE   Es wird gerade eine Tabelle gesendet.

    • UL_SYNC_STATE_SENDING_DATA   Schemainformationen oder Daten werden gesendet.

    • UL_SYNC_STATE_FINISHING_UPLOAD   Die Upload-Phase ist abgeschlossen und eine Festschreibung wird ausgeführt.

    • UL_SYNC_STATE_RECEIVING_UPLOAD_ACK   Es wird gerade eine Bestätigung darüber empfangen, dass der Sendevorgang abgeschlossen wurde.

    • UL_SYNC_STATE_RECEIVING_TABLE   Es wird gerade eine Tabelle empfangen.

    • UL_SYNC_STATE_RECEIVING_DATA   Schemainformationen oder Daten werden empfangen.

    • UL_SYNC_STATE_COMMITING_DOWNLOAD   Die Download-Phase ist beendet und eine Festschreibung wird ausgeführt.

    • UL_SYNC_STATE_SENDING_DOWNLOAD_ACK   Es wird gerade eine Bestätigung gesendet, dass der Download-Vorgang abgeschlossen wurde.

    • UL_SYNC_STATE_DISCONNECTING   Der Synchronisationsdatenstrom wird demnächst geschlossen.

    • UL_SYNC_STATE_DONE   Die Synchronisation wurde erfolgreich abgeschlossen.

    • UL_SYNC_STATE_ERROR   Die Synchronisation wurde abgeschlossen, jedoch mit einem Fehler.

    • UL_SYNC_STATE_ROLLING_BACK_DOWNLOAD   Während des Downloads ist ein Fehler aufgetreten und der Download wird zurückgesetzt.

  • stop   Setzen Sie dieses Mitglied auf TRUE, um die Synchronisation zu unterbrechen. Die SQL-Ausnahmebedingung SQLE_INTERRUPTED wird gesetzt, und die Synchronisation wird gestoppt, als ob ein Kommunikationsfehler aufgetreten wäre. Der Beobachter wird immer entweder mit dem Zustand DONE oder ERROR aufgerufen, sodass er richtig aufräumen kann.

  • flags   Gibt die aktuellen Optionen für die Synchronisation zurück, die weitere Informationen über den aktuellen Status liefern.

  • user_data   Gibt das Benutzerdatenobjekt zurück, das als Argument an die ULSetSynchronizationCallback-Funktion übergeben wird.

  • sqlca   Gibt den Zeiger auf den aktiven SQLCA-Bereich der Verbindung zurück.

  • current_download_row_count   Gibt die Anzahl der bisher heruntergeladenen Zeilen zurück. Diese Anzahl umfasst Duplikatzeilen, die nicht in received.inserts, received.updates oder received.deletes enthalten sind.

  • total_download_row_count   Gibt die Gesamtzahl der in dem Download zu empfangenden Zeilen zurück. Diese Anzahl umfasst Duplikatzeilen, die nicht in received.inserts, received.updates oder received.deletes enthalten sind.

 Beispiel
 CustDB-Beispiel
 Siehe auch