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 客户端的事件挂接 » dbmlsync 挂接简介

 

同步事件挂接序列

下列伪代码显示可用的事件以及在同步过程期间将在哪一点调用这些事件。例如,sp_hook_dbmlsync_abort 是第一个将要调用的事件挂接。

每个挂接都随实现事件挂接过程时使用的参数值一起提供。在某些情况下,您可以修改此值以返回一个新值,而有些值是只读的。这些参数不是存储过程参数。没有任何参数会传递给任何事件挂接存储过程。实际上这些参数的交换通过读取并修改 #hook_dict 表中的行进行。

例如,sp_hook_dbmlsync_begin 过程有一个 MobiLink 用户参数,其为要同步的 MobiLink 用户。您可以从 #hook_dict 表中检索到此值。

尽管此序列与 MobiLink 服务器的事件序列有相似之处,但在您希望添加到统一数据库与远程数据库的逻辑类型方面几乎没有重叠。因此这两种接口独立且不重复。

如果成功执行了 *_begin 挂接,不管执行 *_begin 挂接后发生任何错误,系统都将调用相应的 *_end 挂接。如果未定义 *_begin 挂接而已定义 *_end 挂接,则除非在通常调用 *_begin 挂接的时间点之前发生错误,否则将调用 *_end 挂接。

如果此挂接更改数据库中的数据,则直到并包括 sp_hook_dbmlsync_logscan_begin 在内的所有的更改将在当前的同步会话中进行同步;之后,将在下一个会话中同步更改。

sp_hook_dbmlsync_abort
sp_hook_dbmlsync_set_extended_options
loop until return codes direct otherwise (
   sp_hook_dbmlsync_abort
   sp_hook_dbmlsync_delay
)
sp_hook_dbmlsync_abort
// start synchronization
sp_hook_dbmlsync_begin
// upload events
for each upload segment
// a normal synchronization has one upload segment
// a transactional upload has one segment per transaction
// an incremental upload has one segment per upload piece
 sp_hook_dbmlsync_logscan_begin  //not called for scripted upload
 sp_hook_dbmlsync_logscan_end  //not called for scripted upload
 sp_hook_dbmlsync_set_ml_connect_info //only called during first upload
 sp_hook_dbmlsync_upload_begin
 sp_hook_dbmlsync_set_upload_end_ progress  //only called for scripted upload
 sp_hook_dbmlsync_upload_end
next upload segment
// download events 
sp_hook_dbmlsync_validate_download_file (only called 
   when -ba option is used)
for each download segment
sp_hook_dbmlsync_download_begin
for each table
   sp_hook_dbmlsync_download_table_begin
   sp_hook_dbmlsync_download_table_end
next table
sp_hook_dbmlsync_download_end

sp_hook_dbmlsync_schema_upgrade
// end synchronization
sp_hook_dbmlsync_end
sp_hook_dbmlsync_process_exit_code
sp_hook_dbmlsync_log_rescan

有关上载选项的详细信息,请参见-tu 选项Increment (inc) 扩展选项