One Way
简单介绍
组织需要为一组编辑者提供支持,同时也要支持具有只读访问权限的用户对系统进行访问。为满足这两组用户的需求,组织建立了两个 ArcSDE 地理数据库。一个是可由编辑者直接编辑的生产地理数据库,另一个是可由读取者访问的此地理数据库的复本。读取者可通过 ArcIMS 或 ArcGIS 服务器对此数据进行访问。在这种情况下,发布地理数据库中的复本是生产地理数据库的只读副本。发布地理数据库中的数据无需进行版本化。可将复制限制为只在一个方向上发送数据。在生产地理数据库中进行所需的编辑,然后将编辑内容从生产地理数据库发送到发布地理数据库。这些编辑内容会被传输到发布地理数据库并与其中的数据进行同步,然后供读取者查看。
![clip_image002oneway,同步复制使用系列二-OneWay](/Files/201012/71914276-f033-42f3-b50f-cf6d70078a40.gif)
几点必要条件
Ø 每一个数据集都必须有GlobeID字段,标识每条记录在该GDB内或GDB之间的唯一性Ø 空间数据必须以高精度的空间参考存储(9.2以后的GDB)
Ø 数据库用户必须对数据有write权限
Ø 数据必须注册为版本,且没有勾选move edits to base选项
假设场景
许多用户的应用场景是这样的,一个发布库一个编辑库,编辑库是可以对数据进行相关的编辑操作,也就是说是可写的,但是发布库是只是对数据的只读,而且对于编辑库的变化数据要与发布库的数据进行同步,那么我们ArcGIS的同步复制的One Way就很好的解决了该问题。One Way可以是ArcSDE库到PGDB、FGDB、ArcSDE GDB都是可以的。编辑库
Oracle 11.1.0.6 64Bit、ArcSDE10(以下称父库)![clip_image004clip_image002oneway,同步复制使用系列二-OneWay](/Files/201012/b81d05ba-1e2f-471b-9904-8903fd879770.gif)
发布库
SQLServer2008 64Bit、ArcSDE10、无数据(以下称子库)操作步骤演示
首先我们对父库的数据数据注册版本,不打勾的选择,然后添加Global ID操作![clip_image006clip_image004clip_image002oneway,同步复制使用系列二-OneWay](/Files/201012/1e5ad10a-a776-4bf6-87ea-a48fb2a9c22e.gif)
![clip_image008clip_image006clip_image004clip_image002oneway,同步复制使用系列二-OneWay](/Files/201012/182b4768-dec0-4a33-a9d9-1d8d49444979.gif)
然后我们创建一个复本,我们可以看到如下图所示,One Way选项中有从父到子,有从子到父(ArcGIS10新特性),其实两个是差不多的,从父到子大家理解比较容易,从子到父其实就是将相关场景调换过来即可。本身Oneway支持Simple/Full Model的。
![clip_image010clip_image008clip_image006clip_image004clip_image002oneway,同步复制使用系列二-OneWay](/Files/201012/697832a8-9cec-47cf-9cb0-62ae9b489db8.gif)
直接下一步,默认完成即可。查看SQLServer库的数据,看到Oracle库里面的数据已经同步过来了
![clip_image012clip_image010clip_image008clip_image006clip_image004clip_image002oneway,同步复制使用系列二-OneWay](/Files/201012/a59610a2-3468-49ed-9cc1-3a682f1942e7.gif)
然后对Oracle数据库的数据进行编辑,增加图形、分割图形、删除图形等操作,鉴于图片大小比例尺可能不一样。
然后我们对父库的数据进行相关的编辑操作。
![clip_image014clip_image012clip_image010clip_image008clip_image006clip_image004clip_image002oneway,同步复制使用系列二-OneWay](/Files/201012/b35a67f7-dcff-48e2-8e56-9e9752357ce8.gif)
进行同步复制功能,看到划圈的要选择好相应的数据源和复本名称(版本名称)
![clip_image016clip_image014clip_image012clip_image010clip_image008clip_image006clip_image004clip_image002oneway,同步复制使用系列二-OneWay](/Files/201012/61558607-2a55-4e6e-9779-5d4fa77585b1.gif)
点击完成,我们可以看到父库编辑的数据已经与子库进行了数据的同步。
![clip_image018clip_image016clip_image014clip_image012clip_image010clip_image008clip_image006clip_image004clip_image002oneway,同步复制使用系列二-OneWay](/Files/201012/123d059d-b844-4c44-9df0-d2b1a5f94ab9.gif)
ArcGIS10新特性
上面介绍了我们对父库进行同步复制的OnaWay,是可以利用版本的机制来进行同步的,但是在ArcGIS 10中可以采用历史归档的方式进行同步复制,也就是说对父库的数据进行历史归档,然后对Default的版本进行数据编辑,那么进行同步复制时就不需要利用版本的机制来获得变化数据了,只需要对归档表的数据进行同步,这样效率就会提高很多,至于效率为什么提高,可以参考2010年华北区用户大会的《ArcGIS历史库策略》的讲座。参考地址:http://www.esrichina-bj.cn/market/2010uc/zlxz.php
理解子到父操作
OneWay既支持从父到子,又支持从子到父,有一点大家必须弄清楚,之所以叫One Way,就是单向复制,一个方向,把握住这个点,理解就容易的多。![clip_image020clip_image018clip_image016clip_image014clip_image012clip_image010clip_image008clip_image006clip_image004clip_image002oneway,同步复制使用系列二-OneWay](/Files/201012/e1282370-20e6-4155-aae7-3845de588585.gif)
![clip_image022clip_image020clip_image018clip_image016clip_image014clip_image012clip_image010clip_image008clip_image006clip_image004clip_image002oneway,同步复制使用系列二-OneWay](/Files/201012/374cfe04-61ea-44fe-a68a-11a84eb9a91d.gif)
有一点误区大家需要注意:就是不要立即为当父库与子库已经建立了一个One way关系,进行同步之后,原来的子库可以再与父库建立一个OneWay关系,这样理解是不对的,这样的话其实就与OneWay的单向复制有悖了。所以这一点大家需要特别注意。
Schema的映射
映射流程
父库字段改变-子库与父库比较Schema-生成XML文件-子库导入该XML文件-Schema同步。具体操作步骤
接着上面的父库数据,我们进行试验。首先看一下父库的结构,我们对父库结构添加一个rrrr字段。![clip_image024clip_image022clip_image020clip_image018clip_image016clip_image014clip_image012clip_image010clip_image008clip_image006clip_image004clip_image002oneway,同步复制使用系列二-OneWay](/Files/201012/3bc33fbe-2d58-4f55-87f3-4af0188c1e6a.gif)
然后查看一下子库的数据结构
![clip_image026clip_image024clip_image022clip_image020clip_image018clip_image016clip_image014clip_image012clip_image010clip_image008clip_image006clip_image004clip_image002oneway,同步复制使用系列二-OneWay](/Files/201012/e32fe6a3-2259-4c82-a3f4-e3609e022f09.gif)
我们可以看到子库中并没有rrrr字段(Oracle和SQLServer库存储不一样,SQLServer数据看到LEN和AREA字段),我们只关注BB、CCC、GGGG、RRRR这些字段。
我们在子库数据,选择Compare Replica Schema按钮,生成XML文件
![clip_image028clip_image026clip_image024clip_image022clip_image020clip_image018clip_image016clip_image014clip_image012clip_image010clip_image008clip_image006clip_image004clip_image002oneway,同步复制使用系列二-OneWay](/Files/201012/f8c357c3-0ec0-46b4-9381-a53620e77dea.gif)
![clip_image030clip_image028clip_image026clip_image024clip_image022clip_image020clip_image018clip_image016clip_image014clip_image012clip_image010clip_image008clip_image006clip_image004clip_image002oneway,同步复制使用系列二-OneWay](/Files/201012/14d345ae-79ae-457a-b4b3-7cd199413b2b.gif)
然后导入生成的XML文件
![clip_image032clip_image030clip_image028clip_image026clip_image024clip_image022clip_image020clip_image018clip_image016clip_image014clip_image012clip_image010clip_image008clip_image006clip_image004clip_image002oneway,同步复制使用系列二-OneWay](/Files/201012/3309ac8f-816e-46ad-b849-1d7e05d9c85d.gif)
![clip_image034clip_image032clip_image030clip_image028clip_image026clip_image024clip_image022clip_image020clip_image018clip_image016clip_image014clip_image012clip_image010clip_image008clip_image006clip_image004clip_image002oneway,同步复制使用系列二-OneWay](/Files/201012/94981f2c-4398-4d37-b73f-29567e698f5f.gif)
我们查看子库的Schema,增加了RRRR字段。
![clip_image036clip_image034clip_image032clip_image030clip_image028clip_image026clip_image024clip_image022clip_image020clip_image018clip_image016clip_image014clip_image012clip_image010clip_image008clip_image006clip_image004clip_image002oneway,同步复制使用系列二-OneWay](/Files/201012/cefbed38-db7b-40af-ab49-d0ecf5b10f9d.gif)
最新评论