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

Сводка

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

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

  • Этот инструмент используется при синхронизации реплик в подключенном режиме.

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

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

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

Синтаксис

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

Указывает, следует ли автоматически выполнять согласование после отправки изменений данных в родительскую реплику, если отсутствуют конфликты. Эта опция доступна только для реплик открепления/прикрепления.

  • DO_NOT_RECONCILEНе согласовывать с родительской версией. Это значение по умолчанию.
  • RECONCILEСогласовать с родительской версией.
Boolean

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

NameОбъяснениеТип данных
out_geodatabase_1

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

Рабочая область; GeoDataServer
out_geodatabase_2

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

Рабочая область; 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)

Информация о лицензиях

  • Basic: Нет
  • Standard: Да
  • Advanced: Да

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