ArcGIS AllSource aplica y libera bloqueos en los datasets de una geodatabase corporativa a medida que los usuarios ven y editan datos. Estos bloqueos son necesarios para mantener la coherencia de los datos y las versiones. Según los objetos en una geodatabase estén bloqueados, el acceso a estos objetos cambia si un bloqueo compartido o exclusivo se lleva a cabo.
Al trabajar con datasets de geodatabases corporativas, el tipo de versionado utilizado determinará el comportamiento de bloqueo. Es importante tener una comprensión clara de cómo funciona el bloqueo, ya que afectará a la experiencia del usuario. Por ejemplo, al trabajar con un dataset con versionado tradicional en una versión con nombre, más de un usuario puede editar al mismo tiempo. Esto se debe a que se obtiene un bloqueo de versión compartido. Al trabajar con un dataset versionado en rama en una versión con nombre, solo se permite un editor a la vez. Este comportamiento se aplica mediante un bloqueo de versión exclusivo obtenido al editar una versión en rama con nombre.
Puede ver los bloqueos de una geodatabase corporativa mediante el cuadro de diálogo Administración de geodatabase. En esta lista aparecen los bloqueos con sus propiedades para ayudar a identificar qué usuario puede estar impidiéndole completar las operaciones en datasets o versiones específicos. Esto ayuda a coordinar los procesos de edición con otras personas y realizar cambios de esquema en sus datasets. El administrador de la geodatabase puede ver y administrar todos los bloqueos de datos y versiones de la geodatabase. Permite al administrador ver qué conexiones pueden estar bloqueando la finalización de una tarea de mantenimiento, como la conciliación de datos, la compresión de la geodatabase o una actualización.
Más información sobre cómo administrar bloqueos de geodatabases
Modos de bloqueo
Se utiliza un modo de bloqueo exclusivo o compartido dependiendo de la operación que se esté realizando y del tipo de registro del dataset.
Compartida
Se adquiere un bloqueo compartido en un dataset individual cuando está en uso, por ejemplo, cada vez que un usuario edita o consulta el contenido de una tabla o clase de entidad. Este mecanismo se utiliza para que los demás usuarios no puedan realizar cambios en el dataset subyacente y en su esquema mientras esté en uso. Se puede establecer cualquier número de bloqueos compartidos en una sola tabla o clase de entidad en un momento dado.
Exclusivo
Un bloqueo exclusivo se utiliza para bloquear un dataset en la geodatabase de uso por parte de otros para realizar los cambios necesarios en el mismo, por ejemplo, para conciliar una versión. Cuando un usuario con los permisos apropiados empieza a hacer cambios en un dataset de la geodatabase, se establece un bloqueo exclusivo en la tabla de atributos individuales, tabla de clases de entidad, tabla ráster u otro dataset. Sin embargo, si existe un bloqueo compartido en dicho dataset, no se puede establecer un bloqueo exclusivo.
Un bloqueo exclusivo es promovido desde un bloqueo compartido y degradado a un bloqueo compartido cuando ya no sea necesario. Solo se permite un bloqueo exclusivo en un momento sobre un dataset o una versión.
Tipos de bloqueo
Existen varios tipos de bloqueo diferentes que se utilizan al trabajar con una geodatabase corporativa. El tipo de bloqueo utilizado depende del tipo de registro del dataset y de la operación.
Bloqueos de esquema
Las aplicaciones y capas web de ArcGIS se basan en principio de funcionamiento por el cual el esquema de la geodatabase permanece fijo y no cambia mientras trabaja con los datos en la geodatabase. Por ejemplo, los usuarios de una capa de imágenes del mapa esperan que el esquema de los datos de la capa de imágenes del mapa no cambie.
Para permitir que esto ocurra cada vez que se accede al dataset —como cuando se agrega a un mapa en ArcGIS AllSource o cuando una capa web utiliza un dataset— se obtiene un bloqueo de esquema compartido en el dataset. Cuando el esquema del dataset se modifica en modo alguno, ese bloqueo de esquema compartido se promueve desde compartido a exclusivo para la duración de los cambios de esquema. Esto proporciona coherencia en un entorno multiusuario al prevenir el esquema de un dataset de cambiar cuando otros usuarios tienen ese dataset abierto.
Si hay otros usuarios accediendo al mismo dataset de geodatabase en el que necesita realizar cambios de esquema, debe establecer flujos de trabajo para efectuar los cambios de esquema cuando el dataset no se esté utilizando. Por ejemplo, para realizar cambios sin que afecte a otros usuarios, programe el trabajo en el esquema para que se lleve a cabo cuando no haya otros usuarios conectados al sistema. Si el dataset se publica en un servicio, detenga el servicio y realice los cambios de esquema. Consulte Cambiar esquema en servicios de mapas en la ayuda de ArcGIS Server para obtener más información.
Bloqueos de estado
Se adquiere un bloqueo de estado compartido cada vez que se accede a un dataset con versionado tradicional. El state_id específico se muestra como el nombre de objeto para el bloqueo. Este tipo de bloqueo solo es válido para datasets con versionado tradicional.
Bloqueos de versión
Se adquiere un tipo de bloqueo de versión al acceder a los datasets versionados de una geodatabase corporativa. El modo de bloqueo difiere según la operación que se esté realizando y el tipo de versionado del dataset.
- Versionado en rama: se adquiere un bloqueo de versión compartido al visualizar un dataset versionado en rama agregándolo a un mapa. Al editar, el modo de bloqueo del bloqueo de versión depende de la versión que se está editando:
- Predeterminado: cuando se edita la versión predeterminada, se conserva un bloqueo de versión compartido.
- Versión con nombre: al editar una versión con nombre, el bloqueo de versión compartido pasa a ser un bloqueo exclusivo.
- Versionado tradicional: se adquiere un bloqueo de versión compartido al editar activamente un dataset con versionado tradicional. Durante una operación de conciliación, el bloqueo de versión compartido pasa a ser un bloqueo de versión exclusivo.
Bloqueos de reserva de OID
Se adquiere un bloqueo de reserva de OID al editar un dataset versionado en rama. Los Id. de objeto se reservan para limitar el número de viajes a la base de datos para recuperar los Id. de objeto durante las operaciones de edición. Este tipo de bloqueo solo es válido para datasets versionados en rama.