| 注意 不要在 MobiLink 环境下更新主键。主键为了进行冲突检测而唯一标识行。 |
在向统一数据库中上载行时可能会发生冲突。如果两个用户修改不同远程数据库中相同的行,则当这两行中的第二个到达 MobiLink 同步服务器时将出现冲突。在冲突发生时,您应定义一个过程以计算正确值,或至少使用日志文件记录冲突。
在同步的下载阶段,远程数据库中不会出现冲突。如果下载的行中包含一个新的主键,则该行的值将插入到新的一行。如果该主键与一个现有行的主键相匹配,则会更新该行中的值。
冲突与错误是两个不同的概念。冲突处理是应用程序应该包含的一部分。
只有在更新行的过程中才会检测到冲突。尝试更新自上一次同步后已更新或删除的行将会导致冲突。缺省情况下:
如果在尝试插入一行时发现此行已经插入,则会导致错误。
如果在尝试删除一行时发现此行已经删除,则此尝试删除的操作将被忽略。
这些是为方便操作而定义的内置行为。如果需要不同的行为,可以使用一个或多个上载事件自行实现。
有关如何处理同步冲突的说明,请参见教程:编写 MobiLink 脚本和监控同步。
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。