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

SQL Anywhere 12.0.1 » MobiLink - 服务器管理 » MobiLink 事件

 

同步脚本编写

您可通过编写同步脚本并在统一数据库的 MobiLink 系统表中存储或引用它们来控制同步过程。您可以使用 SQL、Java 或 .NET 编写脚本。

MobiLink 同步逻辑是使用同步脚本指定的。脚本定义:

  • 如何将从远程数据库上载的数据应用到统一数据库

  • 应从统一数据库下载哪些数据

  • 同步过程中进行验证的方式(可选)

脚本可以是单个语句,也可以是存储过程调用。您可在统一数据库中存储或引用它们。您可以使用 Sybase Central 或系统过程,将脚本添加到统一数据库中。

小心

在 SQL 同步脚本中或从 SQL 同步脚本调用的过程或触发器中,不应有任何隐式或显式的提交或回退。SQL 脚本内的 COMMIT 或 ROLLBACK 语句会改变同步步骤的事务性质。如果您使用这两个语句,则在出现故障时 MobiLink 将无法保证数据的完整性。

在同步过程中,MobiLink 服务器将读取这些脚本(如果脚本尚未加载),然后对统一数据库执行这些脚本。

同步脚本保存在统一数据库中。

同步过程由多个步骤组成。每个步骤都由唯一的事件来标识。可以通过编写与这些事件相关联的脚本来控制同步过程。只有在一旦某一特定的事件发生就必须执行某一操作的情况下,您才需要编写相应的脚本。与某个脚本相关联的事件发生时,MobiLink 服务器将执行该脚本。如果您没有为特定的事件定义脚本,MobiLink 服务器就会继续进行下一步骤。

例如,有一个事件是 begin_upload_rows。您可以编写一个脚本并将其与此事件进行关联。MobiLink 服务器将在首次需要此脚本时读取它,并在同步过程的上载阶段予以执行。如果您没有编写任何脚本,MobiLink 服务器将直接执行下一步,即处理上载的行。

某些被称为表脚本的脚本不仅可以与一个事件关联,而且可以与远程数据库中某一特定的表关联。MobiLink 服务器执行某些任务(例如下载行)的方式是按表逐个进行的。您可以将多个脚本与同一个事件关联,而将每个脚本与不同的应用程序表关联。或者,您也可以为某些应用程序表定义很多的脚本,但为另外一些应用程序表定义很少的脚本。

有关事件的概述,请参见同步过程

有关您可以编写的每个脚本的信息,请参见同步事件

您可以使用 SQL、Java 或 .NET 编写脚本。本节适用于所有类型的脚本,但着重讲述如何使用 SQL 编写同步脚本。

有关 SQL、Java 和 .NET 的说明和比较,请参见用于编写服务器端同步逻辑的选项

有关使用 .NET 编写脚本的信息,请参见使用 .NET 编写同步脚本

有关使用 Java 编写脚本的信息,请参见使用 Java 语言编写同步脚本

有关如何实现同步脚本的信息,请参见同步技术


简单的同步脚本
脚本和同步过程
脚本类型
脚本参数
脚本版本
必需的脚本
添加和删除脚本
用于上载行的脚本
用于下载行的脚本
用于处理错误的脚本