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 des Verarbeitungsfortschritts für jede synchronisierte Subskription. Der Wert des Verarbeitungsfortschritts ist der Offset im Transaktionslog, bis zu dem alle Daten für die Subskription per Upload übertragen wurden. Es gibt einen Wert für jede Subskription, die synchronisiert wird. Die Nummerierung von n beginnt bei Null. Dieser Wert entspricht subscription_n. Beispiel: "log offset_0" ist der Offset für 'subscription_0'. |
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 |
Nicht mehr empfohlen. Verwenden Sie stattdessen subscription_n. Die synchronisierten Publikationen, wobei n eine Ganzzahl ist. Es gibt einen publication_n-Eintrag für jede synchronisierte Publikation. 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 |
subscription_n (in) | Subskriptionsname(n) | Die synchronisierten Subskriptionen, wobei n eine Ganzzahl ist. Dies ist ein subscription_n-Eintrag für jede synchronisierte Subskription. Die Nummerierung von n beginnt bei Null. |
Wenn eine Prozedur dieses Namens vorhanden ist, wird sie aufgerufen, bevor dbmlsync das Transaktionslog durchsucht, um den Upload zusammenzustellen.
Dieser Hook ist die ideale Lösung, um Änderungen in letzter Minute an den zu synchronisierenden Tabellen vorzunehmen, die in den Upload einbezogen werden sollen.
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_time" timestamp NULL, "event_name" varchar(128) NOT NULL , "subs" varchar(1024) NULL , PRIMARY KEY ("event_id") ) |
Folgendes zeichnet den Begin des Log-Scans für jede Synchronisation auf.
CREATE PROCEDURE sp_hook_dbmlsync_logscan_begin () BEGIN DECLARE subs_list VARCHAR(1024); -- build a list of subscriptions being synchronized SELECT LIST(value) INTO subs_list FROM #hook_dict WHERE name LIKE 'subscription_%'; -- log the event INSERT INTO SyncLog(event_time, event_name, subs) VALUES( CURRENT TIMESTAMP, 'sp_hook_dbmlsync_logscan_begin', subs_list ); END |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |