PROBLEMA
La clave principal para una relación puede estar basada en un GlobalID mantenido por una geodatabase, en una aplicación o una clave principal mantenida por el cliente o en un ObjectID mantenido por una geodatabase. En algunos casos de uso, las ediciones que involucran relaciones pueden sincronizarse de forma incorrecta cuando la clave principal de la relación se basa en una columna ObjectID (OID).
Nota: Este artículo corresponde únicamente a las versiones 9.x de ArcGIS. Es posible que versiones posteriores de ArcGIS incluyan funcionalidades distintas, así como nombres y ubicaciones distintos para menús, comandos y herramientas de geoprocesamiento.
A continuación, se muestra un caso de uso de ejemplo en el que las ediciones se sincronizan incorrectamente.
Considere un ejemplo en el que hay una clase de entidad de postes y una tabla de transformadores en una réplica bidireccional. En este ejemplo, hay una clase de relación simple entre los postes y los transformadores. Postes es la clase de origen y la clave principal es su columna ObjectID. Transformadores es la clase de destino y la clave externa es una columna de entero largo llamada idposte.
A continuación, se describe un caso de uso donde las relaciones no se sincronizan correctamente.
El ejemplo anterior funcionaría correctamente si la edición para crear la relación entre el poste y el transformador se hubiera realizado en la misma generación de ediciones en las que se crearon originalmente el poste y el transformador. Por ejemplo, si la relación se hubiera creado antes de la sincronización en el paso 3. El algoritmo de sincronización registra el cambio en el ObjectID del poste durante la creación y lo utiliza para actualizar correctamente la clave externa en el transformador.
Notas sobre los casos de uso en los que las ediciones se sincronizan correctamente:
Los casos de uso en los que las ediciones se sincronizan correctamente corresponden a flujos de trabajo comunes con la anotación vinculada a entidad, que se basa en ObjectID como clave principal. El flujo de trabajo más común implica crear una entidad junto con su anotación vinculada como parte de la misma sesión de edición. Una vez que se crea una anotación para una entidad, su relación con esa entidad no se modifica en ediciones posteriores. No todos los flujos de trabajo relacionados con la anotación vinculada a entidad son compatibles. Por ejemplo, no se permite crear un nuevo elemento de anotación relacionada para una entidad en una generación que no implica la creación de la entidad. Los flujos de trabajo compatibles se basan en ArcGIS 9.2 Service Pack 5.
En algunos casos de uso (consulte la sección Descripción anterior), es posible que las ediciones que involucran relaciones se sincronicen de forma incorrecta con replicación bidireccional y unidireccional cuando la clave principal para la relación está basada en una columna ObjectID (OID).
Este problema se ha solucionado en ArcGIS 9.2 Service Pack 6 y ArcGIS 9.3. También se ha solucionado un caso adicional en el siguiente parche de ArcGIS 9.2 Service Pack 6, así como en ArcGIS 9.3 Service Pack 1.
Además, este problema no se encuentra al editar y sincronizar relaciones con réplicas bidireccionales y unidireccionales utilizando columnas GlobalID o claves principales definidas por el cliente, como IdEquipo, que son únicas en todas las bases de datos, como las claves principales de la relación.
En el ejemplo anterior donde las ediciones están sincronizadas de manera incorrecta, la clase de relación podría haberse definido con la columna GlobalID de los postes como clave principal y una columna GUID de los transformadores como clave externa. Las clases de relación que utilizan un GlobalID como clave principal requieren una columna GUID como clave externa. En este caso de uso, la relación se habría sincronizado correctamente, ya que los valores GlobalID y GUID son los mismos en todas las réplicas.
Obtener ayuda de expertos en ArcGIS
Descargar la aplicación de soporte de Esri