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 挂接简介 » 使用事件挂接过程

 

处理事件挂接过程中的错误和警告

可以创建事件挂接存储过程来处理同步错误、MobiLink 连接故障和参照完整性违规。本节介绍用来处理错误和警告的事件挂接过程。一旦实施了这些过程,它们将在指定类型的错误发生时自动执行。

处理 RI 违规

当下载中的行违反了远程数据库的外键关系时,会发生参照完整性违规。使用以下的事件挂接来记录和处理参照完整性违规:

处理 MobiLink 连接故障

使用 sp_hook_dbmlsync_ml_connect_failed 事件挂接,您可以使用不同的通信类型或地址重试对 MobiLink 服务器失败的连接。如果连接最终失败,dbmlsync 将调用 sp_hook_dbmlsync_communication_error 和 sp_hook_dbmlsync_all_error 挂接。

请参见sp_hook_dbmlsync_ml_connect_failed

处理 dbmlsync 错误

每次生成 dbmlsync 错误消息时,都将调用以下挂接:

  • 首先,根据错误的类型,将调用以下的挂接之一:sp_hook_dbmlsync_communication_error、sp_hook_dbmlsync_misc_error 或 sp_hook_dbmlsync_sql_error。这些挂接包含错误类型的特定信息;例如,针对 SQL 错误提供的 sqlcode 和 sqlstate。

  • 其次,调用 sp_hook_dbmlsync_all_error。此挂接对于记录所有发生的错误非常有用。

请参见:

如果您要重新启动响应某错误的一个同步,可以在 sp_hook_dbmlsync_end 中使用用户状态参数。

请参见sp_hook_dbmlsync_end

忽略错误

缺省情况下,当在事件挂接过程中遇到错误时同步将停止。通过提供 -eh 选项,您可以指示 dbmlsync 实用程序忽略事件挂接过程中出现的错误。

请参见IgnoreHookErrors (eh) 扩展选项