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 技术简介 » 了解 MobiLink 同步 » 同步过程

 

同步过程中的事务

MobiLink 服务器在一个事务中将从每个 MobiLink 客户端上载的更改并入统一数据库中。它在插入新行、删除旧行、更新以及解决任何冲突后,便会提交这些更改。

MobiLink 服务器使用另一个事务准备阻塞下载,其中包括所有的删除、插入以及更新。如果您指定下载确认且客户端确认下载成功,则 MobiLink 服务器将提交下载事务。指定了阻塞下载确认后,如果应用程序遇到问题或无法应答,则 MobiLink 服务器将回退下载事务。缺省情况下,不使用下载确认。

小心

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

跟踪下载信息

MobiLink 使用上次下载时间戳(存储在远程数据库中),帮助简化创建下载的过程。

下载事务的主要作用是选择统一数据库中的行。如果下载失败,则远程数据库将重新上载与上次下载时间戳相同的时间戳,这样不会丢失数据。

请参见在脚本中使用上次下载时间

开始和结束事务

MobiLink 客户端在一个事务中处理下载的信息。行会被插入、更新及删除,从而用统一数据使远程数据库处于最新状态。

MobiLink 服务器使用其它两个事务,一个是在同步开始时,另一个是在结束时。这些事务使您可以记录有关每次同步及其持续时间的信息。这样,您便可以记录有关同步尝试、成功的同步以及同步持续时间的统计数据。因为数据是在过程中的各个点处提交,所以这些事务也可以使您在分析失败的同步尝试时可以提交有用的数据。

另请参见