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_download_table_end

Verwenden Sie diese gespeicherte Prozedur, um benutzerdefinierte Aktionen direkt nach dem Download jeder Tabelle einzufügen.

Zeilen in der Tabelle #hook_dict

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

Bemerkungen

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.

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, 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;