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

SQL Anywhere 11.0.1 (Deutsch) » MobiLink - Clientadministration » SQL Anywhere-Clients für MobiLink » Ereignis-Hooks für SQL Anywhere-Clients

 

sp_hook_dbmlsync_logscan_begin

Verwenden Sie diese gespeicherte Prozedur, um benutzerdefinierte Aktionen direkt vor dem Durchsuchen des Transaktionslogs für den Upload einzufügen.

Zeilen in der Tabelle #hook_dict

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

Bemerkungen

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.

Siehe auch
Beispiele

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;