Sincronizar cambios (Administración de datos)

Resumen

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

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

arcpy.management.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 en 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 sincronizarán los cambios: de geodatabase 1 a geodatabase 2, de geodatabase 2 a geodatabase 1, o 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, todas las opciones estarán disponibles.

  • BOTH_DIRECTIONSLos cambios se sincronizarán en ambas direcciones. Esta es la opció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.

  • MANUALLos conflictos se resolverán manualmente en el entorno de conciliación de versiones.
  • IN_FAVOR_OF_GDB1Los conflictos se resolverán a favor de la geodatabase 1. Esta es la opción predeterminada.
  • IN_FAVOR_OF_GDB2Los conflictos se resolverán a favor de la geodatabase 2.
String
conflict_definition

Especifica cómo se definirán los conflictos.

  • BY_OBJECTLos cambios aplicados a la misma fila o entidad en las versiones principal y secundaria producirán 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