Синхронизировать изменения (Управление данными)

Краткая информация

Синхронизирует обновления между двумя репликами баз геоданных в указанном направлении.

Использование

  • Двусторонние, односторонние реплики и реплики открепления могут быть синхронизированы с этим инструментом.

  • Эти базы геоданных реплик могут быть локальными базами геоданных или сервисами геоданных.

  • После синхронизации, изменения будут отображаться в целевой базе геоданных и будут видимы для пользователей.

Параметры

ПодписьОписаниеТип данных
База геоданных 1

База геоданных, являющаяся репликой синхронизации. База геоданных может быть локальной или удаленной.

Workspace; GeoDataServer
Реплика

Допустимая реплика с родительским элементом, содержащимся в одной входной базе геоданных, и дочерним элементом в другой входной базе геоданных.

String
База геоданных 2

База геоданных, являющаяся относительной репликой. База геоданных может быть локальной или удаленной.

Workspace; GeoDataServer
Направление

Указывает направление, в котором будут синхронизироваться изменения: из базы геоданных 1 в базу геоданных 2, из базы геоданных 2 в базу геоданных 1 или в обоих направлениях. Для реплик открепления/прикрепления или односторонних реплик существует только одно подходящее направление. Если реплика двусторонняя, доступны все варианты.

  • В оба направленияИзменения будут синхронизированы в обоих направлениях. Это значение по умолчанию
  • Из базы геоданных 2 в базу геоданных 1Изменения будут синхронизированы из БГД 2 в БГД 1.
  • Из базы геоданных 1 в базу геоданных 2Изменения будут синхронизированы из БГД 1 в БГД 2.
String
Правила разрешения конфликтов

Задает способ разрешения конфликтов при их возникновении.

  • Разрешение конфликтов вручнуюКонфликты будут разрешаться вручную в среде согласования версий.
  • Разрешить в пользу базы геоданных 1Конфликты будут разрешены в пользу базы геоданных 1. Это значение по умолчанию
  • Разрешить в пользу базы геоданных 2Конфликты будут разрешены в пользу базы геоданных 2.
String
Выявление конфликтов

Указывает, как будут определяться конфликты.

  • Конфликты, определяемые по строкеИзменения одной и той же строки или объекта в родительской и дочерней версиях будут конфликтовать во время согласования. Это значение по умолчанию
  • Конфликты, определяемые по столбцуТолько изменения того же атрибута (столбца) той же строки или объекта в родительской и дочерней версиях будут отмечены как конфликт в процессе согласования. Изменения с различными атрибутами не будут считаться конфликтом в процессе согласования.
String

Производные выходные данные

ПодписьОписаниеТип данных
Выходная база геоданных 1

База геоданных, являющаяся репликой синхронизации.

Workspace; GeoDataServer
Выходная база геоданных 2

База геоданных, являющаяся относительной репликой.

Workspace; GeoDataServer

arcpy.management.SynchronizeChanges(geodatabase_1, in_replica, geodatabase_2, in_direction, conflict_policy, conflict_definition)
ИмяОписаниеТип данных
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

Производные выходные данные

ИмяОписаниеТип данных
out_geodatabase_1

База геоданных, являющаяся репликой синхронизации.

Workspace; GeoDataServer
out_geodatabase_2

База геоданных, являющаяся относительной репликой.

Workspace; GeoDataServer

Пример кода

SynchronizeChanges, пример (окно Python)

В следующем примере окна Python показано, как использовать функцию SynchronizeChanges в окне Python.


import arcpy
arcpy.env.workspace = "C:/Data"
arcpy.SynchronizeChanges_management("MyData.sde", "My2wayReplica", 
                                    "MyData_child.sde", "BOTH_DIRECTIONS",
                                    "IN_FAVOR_OF_GDB1", "BY_ATTRIBUTE")
SynchronizeChanges, пример 2 (автономный скрипт)

Ниже демонстрируется пример использования функции SynchronizeChanges в автономном скрипте Python.

# Name: SynchronizeChanges_Example2.py
# Description: Synchronizes changes for a one way replica from the Parent to 
#              the child replica geodatabase. The parent is an enterprise 
#              geodatabase workspace, and the child is file geodatabase.

# Import system modules
import arcpy

# Set workspace
arcpy.env.workspace = "C:/Data"

# Set local variables
replica_gdb1 = "MyData.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)

Связанные разделы