双向复制可用于多次将数据变更从父复本发送到子复本,或从子复本发送到父复本。如果在两个复本地理数据库中编辑同一行,同步复本时会检测到冲突。提供的协调策略可用于定义冲突的处理方式。
同步后双向复本会继续存在,以便用户继续编辑和同步复本。创建双向复本时,目标必须是 ArcSDE 地理数据库。
Ø 每一个数据集都必须有GlobeID字段,标识每条记录在该GDB内或GDB之间的唯一性
Ø 空间数据必须以高精度的空间参考存储(9.2以后的GDB)
Ø 数据库用户必须对数据有write权限
Ø 数据必须注册为版本,且没有勾选move edits to base选项
Ø 两边必须都是ArcSDE库,多次同步
Ø 支持Simple Model(ArcGIS10)、Full Model
在您的组织中,可将数据管理任务划分给多个不同的组。例如,一个组可以负责管理公共事业网络,而另一个组可以负责管理同一区域的土地基础数据。另外还有一些例子,比如说多个团队负责许多完全独立的项目。每个项目的数据集的大部分很可能来自不同的地理区域,但组织需要一个可存储所有项目的中央存储库。
您的组织可使用地理数据库复制将数据分发到各个组,从而将数据划分到相应的项目中。每个项目团队都会从 ArcSDE 中央地理数据库接收到一份所需数据的复本。随后,各个团队便可相互独立地编辑每个复本(也可能是在单独的地理位置),然后将这些编辑内容传输到 ArcSDE 中央地理数据库。反过来,对 ArcSDE 中央地理数据库所做的任何编辑也会被传输到各个项目团队的相应复本。
数据类型1:Oracle 11.1.0.6 64Bit、ArcSDE10、有数据(以下简称父库)
数据类型2:SQLServer2008 64Bit、ArcSDE10、无数据(以下简称子库)
首先我们需要对父库添加Global ID
查看一下父库的数据情况
创建复本、使用Two Way方式
查看子库(子库原来无数据,已经将父库的数据同步过来)
我们对子库数据进行编辑
子库编辑-父库选择同步
父库编辑-子库选择同步
我们对父库的数据进行编辑
我们看到子库的数据已经同步过来
从上面的操作我们可以很明显的感受到双向同步了,这些是上一个系列单向同步不能比拟的,双向同步两个库都可以进行修改,进行同步。
父库数据编辑-导出数据(数据或者XML)-子库接受数据-子库导出确认消息-父库接受确认消息
我们对父库进行编辑修改
我们导出数据变化信息
加载子库数据,选择Import Message
查看子库数据,变化数据已经同步过来了
我们导出子库确认消息。
发送确认消息很重要。如果没有发送确认消息,那么data sender会认为这次发送的数据未同步成功,会重新发送。
父库接受确认消息
该文档为作者在学习ArcGIS的一些笔记(自己学习、ArcGIS帮助、网络资源、高手请教相结合),难免有一些表达不全面或者理解有出入的,还请各位多多指教!
http://www.gisall.com/index.php?uid-121719 :欢迎访问GIS博客
或者在百度文科上搜索:linghe301
By Lish