Änderungen synchronisieren (Data Management)

Zusammenfassung

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

Verwendung

  • 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.

Parameter

BeschriftungErläuterungDatentyp
Geodatabase 1

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

Workspace; GeoDataServer
Replikat

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
Richtung

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.

  • Beide RichtungenÄnderungen werden in beiden Richtungen synchronisiert. Dies ist die Standardeinstellung.
  • Von Geodatabase 2 an Geodatabase 1Änderungen werden von Geodatabase 2 zu Geodatabase 1 synchronisiert.
  • Von Geodatabase 1 an Geodatabase 2Änderungen werden von Geodatabase 1 zu Geodatabase 2 synchronisiert.
String
Konfliktlösungsmethode

Gibt an, wie auftretende Konflikte beseitigt werden.

  • Konflikte manuell lösenKonflikte werden manuell in der Umgebung zum Abgleich der Versionierung gelöst.
  • Zugunsten von Geodatabase 1 lösenKonflikte werden zugunsten von Geodatabase 1 gelöst. Dies ist die Standardeinstellung.
  • Zugunsten von Geodatabase 2 lösenKonflikte werden zugunsten von Geodatabase 2 gelöst.
String
Konfliktdefinition

Gibt an, wie Konflikte definiert werden.

  • Zeilenweise definierte KonflikteÄnderungen an derselben Zeile oder demselben Feature in der Parent- oder Child-Version führen beim Abgleich zu einem Konflikt. Dies ist die Standardeinstellung.
  • Spaltenweise definierte KonflikteNur Ä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

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Ausgabe-Geodatabase 1

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

Workspace; GeoDataServer
Ausgabe-Geodatabase 2

Die Geodatabase, die das relative Replikat enthält.

Workspace; GeoDataServer

arcpy.management.SynchronizeChanges(geodatabase_1, in_replica, geodatabase_2, in_direction, conflict_policy, conflict_definition)
NameErläuterungDatentyp
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_ATTRIBUTENur Ä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

Abgeleitete Ausgabe

NameErläuterungDatentyp
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)

Das folgende Beispiel zum Python-Fenster 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)

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

Verwandte Themen