Verwenden Sie diese gespeicherte Prozedur, um benutzerdefinierte Aktionen direkt nach dem Download jeder Tabelle einzufügen.
Name |
Wert |
Beschreibung |
---|---|---|
table name (in) |
Tabellenname |
Die Tabelle, in der Vorgänge gerade übernommen wurden |
delete count (in) |
Anzahl von Zeilen |
Die Anzahl der Zeilen in dieser Tabelle, die durch den Download gelöscht werden |
upsert count (in) |
Anzahl von Zeilen |
Die Anzahl der Zeilen in dieser Tabelle, die durch den Download aktualisiert oder eingefügt werden |
publication_n (in) |
Publikation |
Die synchronisierten Publikationen, wobei n eine Ganzzahl ist. Es gibt einen publication_n-Eintrag für jede Publikation im Upload. Die Nummerierung von n beginnt bei Null. |
MobiLink user (in) |
MobiLink-Benutzername |
Der MobiLink-Benutzer, für den Sie synchronisieren |
script version (in) |
Skriptversionsname |
Die MobiLink-Skriptversion, die für die Synchronisation verwendet werden soll |
Wenn eine Prozedur mit diesem Namen besteht, wird sie unmittelbar nach dem Punkt aufgerufen, an dem alle Vorgänge im Download für eine Tabelle übernommen wurden.
Die Aktionen dieser Prozedur werden festgeschrieben bzw. zurückgesetzt, wenn der Download festgeschrieben bzw. zurückgesetzt wird.
Nehmen wir an, Sie verwenden die folgende Tabelle, um Synchronisationsereignisse in der entfernten Datenbank zu protokollieren.
CREATE TABLE SyncLog ( "event_id" INTEGER NOT NULL DEFAULT AUTOINCREMENT , "event_name" VARCHAR(128) NOT NULL , "ml_user" VARCHAR(128) NULL , "event_time" TIMESTAMP NULL, "table_name" VARCHAR(128) NULL , "upsert_count" VARCHAR(128) NULL , "delete_count" VARCHAR(128) NULL , "exit_code" INTEGER NULL , "status_retval" VARCHAR(128) NULL , "pubs" VARCHAR(128) NULL , "sync_descr " VARCHAR(128) NULL , PRIMARY KEY ("event_id"), ); |
Das folgende Beispiel protokolliert den MobiLink-Benutzer, den Tabellennamen und die Anzahl der eingefügten oder aktualisierten Zeilen unmittelbar nach dem Download einer Tabelle.
CREATE PROCEDURE sp_hook_dbmlsync_download_table_end() BEGIN -- declare variables DECLARE tbl VARCHAR(255); DECLARE upsertCnt VARCHAR(255); DECLARE deleteCnt VARCHAR(255); -- load the table name from #hook_dict SELECT #hook_dict.value INTO tbl FROM #hook_dict WHERE #hook_dict.name = 'table name'; -- load the upsert count from #hook_dict SELECT #hook_dict.value INTO upsertCnt FROM #hook_dict WHERE #hook_dict.name = 'upsert count'; -- load the delete count from #hook_dict SELECT #hook_dict.value INTO deleteCnt FROM #hook_dict WHERE #hook_dict.name = 'delete count'; INSERT INTO SyncLog (event_name, ml_user, table_name, upsert_count, delete_count, event_time) SELECT 'download_table_end', #hook_dict.value, tbl, upsertCnt, deleteCnt, CURRENT TIMESTAMP FROM #hook_dict WHERE name = 'MobiLink user' ; END; |
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 |