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

SQL Anywhere 12.0.1 (Deutsch) » UltraLite - C- und C++-Programmierung » Anwendungsentwicklung » UltraLite C++-Anwendungsentwicklung mit Embedded SQL » Anwendungen eine Synchronisationsfunktion hinzufügen » Überwachen und Abbrechen der Synchronisation

 

Informationen zum Synchronisationsstatus

Die Callback-Funktion, mit der Sie die Synchronisation überwachen, verwendet die Struktur ul_sync_status 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_tableCount;
    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;
}
  • 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   Ein Zeiger auf die Struktur ul_sync_info.

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

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

  • table_name[]   Der Name der aktuellen Tabelle.

  • table_name_w2[]   Der Name der aktuellen Tabelle (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   Die Nummer der Tabelle im Upload oder Download, 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 unternommen.

    • 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 beendet 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 Empfangsvorgang 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   Ein Fehler ist beim Download 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   Zeiger auf den aktiven SQLCA-Bereich der Verbindung

 Beispiel
 CustDB-Beispiel
 Siehe auch