今天和同事又研究了一下ArcSDE数据库CheckOut为ArcSDEGeodatabase,又学到了不少知识,越来越发现同步复制的水真是深啊...
首先我们看上面的图,假如左边为父库,CheckOut出一个父复本到ArcSDE Geodatabase,那么有两种情况可以选择。
1:父库为注册版本数据:
如果父库为注册版本数据,在将父库的数据签出到另外一个ArcSDE Geodatabase库里面,那么父库会创建一个签出子版本(名称为MyCheckOut),那么对父复本来说将父库的数据签出到这里会自动注册版本而且也会建立一个版本名称叫MyCheckOut的子版本,现在问题就出来了,我们需要编辑父复本的数据,然后将变化的数据再同步到父库中,那么对父复本来说有一个Default版本,有一个MyCheckOut子版本,那么编辑哪个版本的数据才有效呢?
这个需要用户注意一下,同步变化的功能只跟子库中MyCheckOut子版本的数据相关,也就是说如果你编辑了子库中Default版本的数据进行同步,是不会发生任何变化的。
在同步完毕之后,子库中的MyCheckOut版本会自动进行删除。如果同步变化默认选择的话,对注册版本的父库来说,最新同步的数据会在父库的子版本中,所以说用户需要切换子版本的数据才能看到最新同步的数据。
2:如果父库为非注册版本数据
其实如果父库为非注册版本数据,签出到子库中跟上面的都是一样的,两个库都会建立一个MyCheckOut的子版本,这一点我有点纳闷,父库根本都没有注册版本,怎么会见了一个子版本呢?我们假定父库的子版本是一个中间变量的作用,在数据同步过来时有些不同的是,父库为非注册版本数据,数据同步过来直接同步到基表中。
个人感觉对非注册版本同步完毕之后应该把建立的相关子版本删除掉,可是并没有,这个让我有点纳闷。
-----------------------------------------------------------------
个人感觉对同步复制CheckIn/Out的使用,如果CheckOut到ArcSDE Geodatabase中这个功能有点鸡肋的感觉,感觉这个功能与OneWay有点重复,而且One Way可以多次进行数据同步,CheckIn/Out只能一次(也可以再次建立关系同步),所以使用这个功能的人比较少。
http://blog.csdn.net/linghe301大量ArcGIS原创技术文章,请访问: