Sincronizar cambios (Administración de datos)

Resumen

Sincroniza actualizaciones entre dos geodatabases de réplica en una dirección especificada por el usuario.

Uso

  • Esta herramienta se utiliza para sincronizar réplicas en el modo con conexión.

  • Las réplicas unidireccionales, dobles y de check-out se pueden sincronizar con esta herramienta.

  • Las geodatabases de réplica pueden ser geodatabases locales o servicios de geodatos.

  • Una vez sincronizadas, los cambios (ediciones) se reflejarán en la geodatabase de destino y los podrán ver todos los usuarios.

Sintaxis

SynchronizeChanges(geodatabase_1, in_replica, geodatabase_2, in_direction, conflict_policy, conflict_definition, reconcile)
ParámetroExplicaciónTipo de datos
geodatabase_1

Geodatabase que aloja la réplica que se sincronizará. La geodatabase puede ser local o remota.

Workspace; GeoDataServer
in_replica

Una réplica válida con una principal contenida dentro de una geodatabase de entrada y una secundaria en la otra geodatabase de entrada.

String
geodatabase_2

Geodatabase que aloja la réplica relativa. La geodatabase puede ser local o remota.

Workspace; GeoDataServer
in_direction

Especifica la dirección en la que se enviarán los cambios: de geodatabase 1 a geodatabase 2, de geodatabase 2 a geodatabase 1, o enviar cambios en ambas direcciones. Para réplicas de check-in/check-out o réplicas unidireccionales, solo existe una dirección adecuada. Si la réplica es bidireccional, cualquiera de las tres opciones estará disponible.

  • BOTH_DIRECTIONSLos cambios se sincronizarán en ambas direcciones. Esta es la configuración predeterminada
  • FROM_GEODATABASE2_TO_1Los cambios se sincronizarán de la geodatabase 2 a la geodatabase 1.
  • FROM_GEODATABASE1_TO_2Los cambios se sincronizarán de la geodatabase 1 a la geodatabase 2.
String
conflict_policy

Especifica cómo se resuelven los conflictos cuando aparecen.

  • MANUALResolver manualmente los conflictos en el entorno de conciliación versionado.
  • IN_FAVOR_OF_GDB1Los conflictos se resuelven a favor de la geodatabase 1. Esta es la opción predeterminada.
  • IN_FAVOR_OF_GDB2Los conflictos se resuelven a favor de la geodatabase 2.
String
conflict_definition

Especifica cómo se definirán los conflictos.

  • BY_OBJECT Cualquier cambio aplicado a la misma fila o entidad en la versión principal y secundaria producirá un conflicto durante la conciliación. Esta es la opción predeterminada.
  • BY_ATTRIBUTE Solo los cambios aplicados al mismo atributo (columna) de la misma fila o entidad en la versión principal y secundaria se marcarán como conflictos durante la conciliación. Los cambios a atributos diferentes no se considerarán un conflicto durante la conciliación.
String
reconcile

Especifica si conciliar automáticamente una vez enviados los cambios de los datos a la réplica principal en caso de que no haya conflictos. Esta opción solo está disponible para las réplicas de check-out/check-in.

  • DO_NOT_RECONCILENo conciliar con la versión principal. Esta es la opción predeterminada.
  • RECONCILEConciliar con la versión principal.
Boolean

Salida derivada

NombreExplicaciónTipo de datos
out_geodatabase_1

Geodatabase que aloja la réplica que se sincronizará.

Espacio de trabajo; GeoDataServer
out_geodatabase_2

Geodatabase que aloja la réplica relativa.

Espacio de trabajo; GeoDataServer

Muestra de código

Ejemplo de SynchronizeChanges (ventana de Python)

En el siguiente ejemplo de ventana de Python se muestra cómo utilizar la función SynchronizeChanges en la ventana de 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")
Ejemplo 2 de SynchronizeChanges (script independiente)

A continuación, se muestra cómo utilizar la función SynchronizeChanges en un script independiente de 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)

Información de licenciamiento

  • Basic: No
  • Standard: Sí
  • Advanced: Sí

Temas relacionados