Änderungen synchronisieren (Data Management)

Zusammenfassung

Synchronisiert Änderungen zwischen zwei Replikat-Geodatabases in einer bestimmten Richtung.

Verwendung

  • Dieses Werkzeug wird zum Synchronisieren von Replikaten im verbundenen Modus verwendet.

  • Mit diesem Werkzeug können unidirektionale, bidirektionale und Check-Out-Replikate synchronisiert werden.

  • Die Replikat-Geodatabases können lokale Geodatabases oder Geodatenservices sein.

  • Die Änderungen (Bearbeitungen) sind nach dem Synchronisieren in der Ziel-Geodatabase enthalten und können von allen Benutzern angezeigt werden.

Syntax

arcpy.management.SynchronizeChanges(geodatabase_1, in_replica, geodatabase_2, in_direction, conflict_policy, conflict_definition, reconcile)
ParameterErklärungDatentyp
geodatabase_1

Die Geodatabase, die das zu synchronisierende Replikat enthält. Die Geodatabase kann lokal oder remote sein.

Workspace; GeoDataServer
in_replica

Ein gültiges Replikat mit einem Parent-Replikat in einer Eingabe-Geodatabase und einem Child-Replikat in der anderen Eingabe-Geodatabase.

String
geodatabase_2

Die Geodatabase, die das relative Replikat enthält. Die Geodatabase kann lokal oder remote sein.

Workspace; GeoDataServer
in_direction

Gibt die Richtung an, in der Änderungen synchronisiert werden sollen: von Geodatabase 1 an Geodatabase 2, von Geodatabase 2 an Geodatabase 1 oder in beide Richtungen. Bei Check-Out-/Check-In-Replikaten und unidirektionalen Replikaten ist jeweils nur eine Richtungsoption geeignet. Bei bidirektionalen Replikaten sind alle Optionen verfügbar.

  • BOTH_DIRECTIONSÄnderungen werden in beiden Richtungen synchronisiert. Dies ist die Standardeinstellung.
  • FROM_GEODATABASE2_TO_1Änderungen werden von Geodatabase 2 zu Geodatabase 1 synchronisiert.
  • FROM_GEODATABASE1_TO_2Änderungen werden von Geodatabase 1 zu Geodatabase 2 synchronisiert.
String
conflict_policy

Gibt an, wie auftretende Konflikte beseitigt werden.

  • MANUALKonflikte werden manuell in der Umgebung zum Abgleich der Versionierung gelöst.
  • IN_FAVOR_OF_GDB1Konflikte werden zugunsten von Geodatabase 1 gelöst. Dies ist die Standardeinstellung.
  • IN_FAVOR_OF_GDB2Konflikte werden zugunsten von Geodatabase 2 gelöst.
String
conflict_definition

Gibt an, wie Konflikte definiert werden.

  • BY_OBJECTÄnderungen an derselben Zeile oder demselben Feature in der Parent- oder Child-Version führen beim Abgleich zu einem Konflikt. Dies ist die Standardeinstellung.
  • BY_ATTRIBUTE Nur Änderungen an demselben Attribut (Spalte) aus derselben Zeile oder demselben Feature in der Parent- oder Child-Version führen beim Abgleich zu einem Konflikt. Änderungen an verschiedenen Attributen haben beim Abgleich keinen Konflikt zur Folge.
String
reconcile

Gibt an, ob ein automatischer Abgleich durchgeführt wird, sobald Datenänderungen an das Parent-Replikat gesendet werden, vorausgesetzt dass keine Konflikte bestehen. Diese Option ist nur für Check-Out-/Check-In-Replikate verfügbar.

  • DO_NOT_RECONCILEEs wird kein Abgleich mit der Parent-Version durchgeführt. Dies ist die Standardeinstellung.
  • RECONCILEEs wird ein Abgleich mit der Parent-Version durchgeführt.
Boolean

Abgeleitete Ausgabe

NameErklärungDatentyp
out_geodatabase_1

Die Geodatabase, die das zu synchronisierende Replikat enthält.

Workspace; GeoDataServer
out_geodatabase_2

Die Geodatabase, die das relative Replikat enthält.

Workspace; GeoDataServer

Codebeispiel

SynchronizeChanges – Beispiel (Python-Fenster)

Im folgenden Beispiel für das Python-Fenster wird veranschaulicht, wie die Funktion SynchronizeChanges im Python-Fenster verwendet wird.

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 – Beispiel 2 (eigenständiges Skript)

Im Folgenden wird veranschaulicht, wie die Funktion SynchronizeChanges in einem eigenständigen Python-Skript verwendet wird.

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

Lizenzinformationen

  • Basic: Nein
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen