描述
根据用户指定的方向在两个复本地理数据库之间对更新进行同步。
使用
在连接模式下对复本进行同步时使用此工具。要在断开连接模式下对复本进行同步,请参阅导出数据变更消息、导入消息、导出确认消息和重新导出未确认的消息工具。
可使用此工具对双向、单向和检出复本进行同步。
复本地理数据库可以是本地地理数据库,也可以是地理数据服务。
同步之后,这些变更(编辑)将反映在目标地理数据库中且对于所有用户均可见。
语法
SynchronizeChanges(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,或者双向发送变更。对于检出/检入复本或单向复本,仅可以向一个方向发送变更。如果复本为双向复本,那么可以选择上述三个方向中的任何一个。
| String |
conflict_policy | 指定发生冲突时解决冲突的方式。
| String |
conflict_definition | 指定定义冲突的方式:
| String |
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.
# 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)
环境
许可信息
- Basic: 否
- Standard: 是
- Advanced: 是