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

SQL Anywhere 11.0.1 (中文) » MobiLink - 客户端管理 » 用于 MobiLink 的 SQL Anywhere 客户端 » SQL Anywhere 客户端的事件挂接

 

sp_hook_dbmlsync_begin

您可以使用此存储过程在同步过程开始时添加自定义操作。

#hook_dict 表中各行

名称

说明

publication_n (in)

发布

正被同步的发布,其中 n 是一个整数。每个正在上载的发布都有一个 publication_n 条目。n 的编号从零开始。

MobiLink user ( in )

MobiLink 用户名

您正在为其进行同步的 MobiLink 用户。

script version (in)

脚本版本名

将用于同步的 MobiLink 脚本版本。

注释

如果以该名称命名的过程存在,则它将在同步过程开始时被调用。

该过程的操作将在执行后立即被提交。

另请参见
示例

假定您使用下面的表记录远程数据库上的同步事件。

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"),
)

以下示例编译一个发布列表。它在同步过程开始时记录发布列表和其它同步信息。

CREATE PROCEDURE sp_hook_dbmlsync_begin ()
BEGIN
    
    DECLARE pubs_list VARCHAR(1024);
    DECLARE temp_str VARCHAR(128);
    DECLARE qry VARCHAR(128);

-- insert publication list into pubs_list
    SELECT LIST(value) INTO pubs_list
     FROM #hook_dict
     WHERE name LIKE 'publication_%';

-- log publication and synchronization information
    INSERT INTO SyncLog(event_name,ml_user,pubs,event_time)
     SELECT 'dbmlsync_begin',#hook_dict.value,pubs_list,CURRENT TIMESTAMP
     FROM #hook_dict
     WHERE name='MobiLink user'; 
END