您可以使用此存储过程管理退出代码。
名称 | 值 | 说明 |
---|---|---|
publication_n (in) |
发布 |
不建议使用。改用 subscription_n。正被同步的发布,其中 n 是一个整数。每个正在同步的发布都有一个 publication_n 条目。n 的编号从零开始。 |
MobiLink user (in) |
MobiLink 用户名 |
您正在为其进行同步的 MobiLink 用户。 |
fatal error (in) |
true | false |
因为将导致 dbmlsync 终止的错误而调用此挂接时为 True。 |
aborted synchronization (in) |
true | false |
因为 sp_hook_dbmlsync_abort 挂接的中止请求而调用此挂接时为 True。 |
exit code (in) |
数字 |
最近同步尝试的退出代码。0 指示成功的同步。任何其它值都表示同步失败。该值可在 sp_hook_dbmlsync_abort 用于中止同步时由该挂接设置。 |
last exit code (in) |
数字 |
上次调用此挂接时存储在 #hook_dict 表 new exit code 行中的值,或为 0(如果这是第一次调用此挂接)。 |
new exit code (in|out) |
数字 |
您为进程选择的退出代码。当 dbmlsync 退出时,其 exit code 为上次调用该挂接时存储在该行中的值。该值必须在 -32768 至 32767 之间。 |
script version (in) |
脚本版本名称 |
将用于同步的 MobiLink 脚本版本。 |
subscription_n (in) | 预订名称 | 正在进行同步的预订的名称,其中 n 是一个整数。每个正在同步的预订都有一个 subscription_n 条目。n 的编号从零开始。 |
当命令行中多次指定 -n 选项或 -s 选项,或使用调度,或使用 sp_hook_dbmlsync_end 中的 restart 参数时,一个 dbmlsync 会话可以运行多个同步。在这些情况下,如果一个或多个同步失败,缺省的退出代码不能表示哪个同步失败了。您可以使用此挂接根据同步的退出代码来定义 dbmlsync 过程的退出代码。此挂接还可用于记录退出代码。
如果在启动过程中还没有初始化同步的时候发生了错误,用于 Mobilink 用户和脚本版本的 #hook_dict 条目将被设置为一个空字符串,并且在 #hook_dict 表中不设置 publication_n 行或 subscription_n 行。
假定您运行 dbmlsync 来执行五个同步,并且希望退出代码指示失败的同步的个数,其中退出代码 0 指示无失败,退出代码 1 指示有一个同步失败,依次类推。您可以通过定义 sp_hook_dbmlsync_process_exit_code 挂接来实现此目的,如下所示。在此情况下,如果三个同步失败了,则新退出代码为 3。
CREATE PROCEDURE sp_hook_dbmlsync_process_exit_code() BEGIN DECLARE rc INTEGER; SELECT value INTO rc FROM #hook_dict WHERE name = 'exit code'; IF rc <> 0 THEN SELECT value INTO rc FROM #hook_dict WHERE name = 'last exit code'; UPDATE #hook_dict SET value = rc + 1 WHERE name = 'new exit code'; END IF; END; |
![]() |
使用DocCommentXchange 讨论此页。
|
版权 © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |