同步数据变化 (数据管理)

摘要

根据用户指定的方向在两个复本地理数据库之间对更新进行同步。

用法

语法

SynchronizeChanges_management (geodatabase_1, in_replica, geodatabase_2, in_direction, conflict_policy, conflict_definition, reconcile)
参数说明数据类型
geodatabase_1

要同步的复本所在的地理数据库。地理数据库可以是本地地理数据库也可以是远程地理数据库。

Workspace ;GeoDataServer
in_replica

父项在一个输入地理数据库中而子项在另一个输入地理数据库中的有效复本。

String
geodatabase_2

相关复本所在的地理数据库。地理数据库可以是本地地理数据库也可以是远程地理数据库。

Workspace; GeoDataServer
in_direction

所要采用的变更发送方向:从地理数据库 1 到地理数据库 2、从地理数据库 2 到地理数据库 1,或者双向发送变更。对于检出/检入复本或单向复本,仅可以向一个方向发送变更。如果复本为双向复本,那么可以选择上述三个方向中的任何一个。

  • BOTH_DIRECTIONS
  • FROM_GEODATABASE2_TO_1
  • FROM_GEODATABASE1_TO_2
String
conflict_policy

指定发生冲突时解决冲突的方式。

  • MANUAL在版本协调环境中手动解决冲突。
  • IN_FAVOR_OF_GDB1优先使用地理数据库 1 解决冲突。
  • IN_FAVOR_OF_GDB2优先使用地理数据库 2 解决冲突。
String
conflict_definition

指定定义冲突的方式:

  • BY_OBJECT按行检测冲突
  • BY_ATTRIBUTE按列检测冲突
String
reconcile
reconcile

指示如果不存在任何冲突,则在数据变更发送到父复本后是否自动进行协调。此选项仅适用于检出/检入复本。

  • DO_NOT_RECONCILE不进行协调。这是默认设置。
  • RECONCILE进行协调。
Boolean

代码示例

SynchronizeChanges 示例(Python 窗口)

以下 Python 窗口示例演示了如何在 Python 窗口中使用 SynchronizeChanges 函数。

 import arcpy from arcpy import env env.workspace = "C:/Data" arcpy.SynchronizeChanges_management("MySDEdata.sde", "My2wayReplica", "MySDEdata_child.sde", "BOTH_DIRECTIONS", "IN_FAVOR_OF_GDB1", "BY_ATTRIBUTE", "")
SynchronizeChanges 示例 2(独立 Python 脚本)

下面演示了如何在独立 Python 脚本中使用 SynchronizeChanges 函数。

# Name: SynchronizeChanges_Example2.py # Description: Synchronizes changes for a one way replica from the Parent  # to the child replica geodatabase. The parent is an ArcSDE workspace, and the child is file geodatabase. # Author: ESRI  # Import system modules import arcpy from arcpy import env  # Set workspace env.workspace = "C:/Data"  # Set local variables replica_gdb1 = "MySDEdata.sde" replica_gdb2 = "Counties_replica.gdb" replica_name = "MyOneWayReplica" sync_direction = "FROM_GEODATABASE1_TO_2" conflict_policy = "" 						# Not applicable for one way replicas, there is not conflict detection. conflict_detection = ""    # Not applicable for one way replicas, there is not conflict detection. reconcile = ""             # Only applicable for Checkout replicas  # Execute SynchronizeChanges arcpy.SynchronizeChanges_management(replica_gdb1, replica_name, replica_gdb2, sync_direction, conflict_policy, conflict_detection, reconcile)

环境

相关主题

许可信息

ArcView: 否
ArcEditor: 是
ArcInfo: 是

7/10/2012