注释:在此不讨论传送错误本文中不讨论和消息传送失败相关的问题。
复制错误
复制错误分为以下几类:
·重复主键错误
两个用户使用相同的主键值插入行,或者一个用户更新了主键,第二个用户插入具有该新值的主键。复制系统中到达给定数据库的第二个操作失败,因为它将产生重复的主键。
·未找到行错误
一个用户删除了行 (即具有给定主键值的行)。
第二个用户在另一站点更新或删除同一行。
在这种情况下,第二个语句失败,因为找不到该行。
·参照完整性错误
如果发布中包括包含外键的列,但不包括相关的主键,则抽取实用程序在远程数据库不使用外键定义,这样在远程数据库的 INSERT 就不会失败。
这一点可以通过在表定义中包括适当的缺省值来解决。
当主表具有 SUBSCRIBE BY 表达式,而相关外表没有时,也可发生参照完整性错误;此时可能复制外表中的行,但主表中的行可能从发布中被排除。
复制冲突
复制冲突和错误不同。如果正确处理,冲突在 SQL Remote 中不是问题。
冲突:假设一个用户更新了行,第二个用户在另一站点更新同一行,则第二个用户的操作成功,且 SQL Remote 允许通过触发触发器 (Adaptive Server Anywhere) 或调用过程 (Adaptive Server
