复制类型
此主题仅适用于 ArcEditor 和 ArcInfo。
地理数据库复制共有三种类型:检出/检入、单向和双向。
无论何种类型,都必须将 ArcSDE 地理数据库中的数据用作创建复本的源。在线环境和离线环境均支持所有类型。下面分别介绍每种类型:
检出/检入复制
检出/检入复制可用于在子复本中编辑数据,并将这些编辑内容同步到父复本中。
同步数据后,您无法再同步其他编辑内容。如果需要进行其他编辑,必须创建新的检出复本。创建检出复本时,目标可以是 ArcSDE 地理数据库、文件地理数据库或个人地理数据库。
离线编辑(最早出现在 ArcGIS 8.3 中)现已成为地理数据库复制的一部分,它与检出/检入复制等效。目前,已经从 ArcGIS Desktop 中移除过去提供的离线编辑工具,该工具已成为分布式地理数据库框架的一部分。不过,离线编辑地理处理工具仍然向后兼容。
单向复制
单向复制用于向一个方向多次发送数据变更,可从父复本发送到子复本,也可从子复本发送到父复本。
在“父-子”单向复制中,父复本中的数据是可编辑的,而子复本中的数据则视为只读。对子复本中的数据进行编辑后,如果编辑内容与同步过程中应用的编辑发生冲突,编辑内容将被覆盖。
创建“父-子”单向复本时,目标可以是 ArcSDE 地理数据库、文件地理数据库或个人地理数据库。
“子-父”单向复制的工作方式与此类似,只是方向相反。此时,子复本中的数据是可编辑的,而父复本中的数据则视为只读。对父复本中的数据进行编辑后,如果编辑内容与同步过程中应用的编辑发生冲突,编辑内容将被覆盖。
创建“子-父”单向复本时,子复本和父复本必须都托管在 ArcSDE 地理数据库中。
同步后单向复本会保留,以便用户继续发送数据变更。
双向复制
双向复制可用于多次将数据变更从父复本发送到子复本,或从子复本发送到父复本。如果在两个复本地理数据库中编辑同一行,同步复本时会检测到冲突。提供的协调策略可用于定义冲突的处理方式。
同步后双向复本会继续存在,以便用户继续编辑和同步复本。创建双向复本时,目标必须是 ArcSDE 地理数据库。
选择复本类型
决定使用的复本类型时,请考虑以下几方面:
- 如果需要在个人或文件地理数据库中创建复本,则必须使用检出/检入或单向复制。然而,如果您在使用 ArcEditor 许可编辑子复本的数据,请考虑使用个人 ArcSDE 作为目标地理数据库。使用个人 ArcSDE 可创建双向复本,而使用个人或文件地理数据库则不能。利用双向复制,您不必重新创建复本即可多次进行同步。
- 对于要将变更从生产服务器发布到发布服务器的情况,单向复制是理想的选择。单向复制能强制进行单向同步,而且在使用简单模型时不要求子复本数据已经版本化。使用简单模型时,由于类型简单,数据不必遵守复杂的 ESRI 数据结构,因此互操作性更佳。
- 如果要实现的是需要偶尔编辑子复本数据的单向系统,请考虑使用双向复制。因为单向复制假定子复本中的数据是只读的,同步可能会覆盖对子复本数据进行的编辑。双向复制的冲突检测逻辑会将这些差异标记为冲突,以便由您决定如何处理这些差异。双向复制允许进行双向数据交换,但也可以只单向发送变更。