Verwenden Sie diese gespeicherte Prozedur, um benutzerdefinierte Aktionen direkt vor dem Durchsuchen des Transaktionslogs für den Upload einzufügen.
Name |
Wert |
Beschreibung |
---|---|---|
starting log offset_n (in) |
Nummer |
Der Wert für den Log-Offset, bei dem die Suche beginnen soll. Es gibt einen Wert für jede Publikation im Upload. Die Nummerierung von n beginnt bei Null. Dieser Wert stimmt mit der Publikation-n überein. Beispiel: "log offset_0" ist das Offset für 'Publication_1'. |
log scan retry (in) |
true | false |
Wenn das Transaktionslog zum ersten Mal für diese Synchronisation durchsucht wurde, ist der Wert FALSE, andernfalls ist er TRUE. Das Log wird zweimal durchsucht, wenn der MobiLink-Server und dbmlsync unterschiedliche Informationen darüber haben, wo der Durchsuchungsvorgang beginnen soll. |
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 dieses Namens vorhanden ist, wird sie aufgerufen, bevor dbmlsync das Transaktionslog durchsucht, um den Upload zusammenzustellen.
Die Aktionen dieser Prozedur werden sofort nach ihrer Ausführung festgeschrieben.
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 und den aktuellen Zeitstempel, unmittelbar bevor das Transaktionslog für den Upload gescannt wird.
CREATE PROCEDURE sp_hook_dbmlsync_logscan_begin () BEGIN -- log the synchronization event INSERT INTO SyncLog (event_name, ml_user,event_time) SELECT 'logscan_begin', #hook_dict.value, 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 |