Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
SQL Remote 允许在多个数据库更新数据库。设计时须小心谨慎以避免复制错误,特别是在数据库结构复杂时更是如此。
复制冲突和错误不同。如果得以妥善处理,冲突在 SQL Remote 中算不上是问题。
冲突发生在许多系统中。SQL Remote 允许使用触发器和过程在 SQL Remote 系统的常规操作中对冲突进行相应的解决。
复制错误分为以下几类:
未找到行错误 某用户删除某行(具有给定主键值)。第二个用户在另一站点更新或删除同一行。在这种情况下,第二个语句失败,因为找不到该行。
参照完整性错误 当包含某外键的列包括在发布中但关联的主键未包括在发布中时,引用此外键的 INSERT 语句会失败。
当主表具有 SUBSCRIBE BY 表达式,而相关外表没有时,也可发生参照完整性错误:可能复制外表中的行,但主表中的行可能从发布中被排除。
重复主键错误 两个用户使用相同的主键值插入某行,或者一个用户更新主键,而第二个用户插入具有新值的主键。复制系统中到达给定数据库的第二个操作失败,因为它将产生重复的主键。
有关传送错误和如何处理它们的信息,请参见保证消息传送系统。