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.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |