ArcGIS Desktop

  • 文档
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

同步数据变化

  • 摘要
  • 用法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

摘要

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

用法

  • 在连接模式下对复本进行同步时使用此工具。要在断开连接模式下对复本进行同步,请参阅导出数据变更消息、导入消息、导出确认消息和重新导出未确认的消息工具。

  • 可使用此工具对双向、单向和检出复本进行同步。

  • 复本地理数据库可以是本地地理数据库,也可以是地理数据服务。

  • 同步之后,这些变更(编辑)将反映在目标地理数据库中且对于所有用户均可见。

语法

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 —将变更从地理数据库 2 同步到地理数据库 1。
  • FROM_GEODATABASE1_TO_2 —将变更从地理数据库 1 同步到地理数据库 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.

# 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)

环境

  • 当前工作空间
  • 临时工作空间

许可信息

  • ArcGIS Desktop Basic: 否
  • ArcGIS Desktop Standard: 是
  • ArcGIS Desktop Advanced: 是

相关主题

  • 分布式地理数据库工具集概述
  • 使用地理数据库复本
  • 什么是同步?
  • 在线复制和离线复制

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • 内部人员博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2018 Esri. | 隐私政策 | 法律声明