Bloqueos de esquema
En la mayoría de los casos; ArcGIS aplica y libera automáticamente los bloqueos compartidos y los bloqueos exclusivos en los datasets de la geodatabase para ayudarle a administrar los cambios sin provocar conflictos con otros usuarios. La única excepción a esta regla es cuando se anula la selección de una geodatabase en ArcCatalog; la carpeta que contiene la geodatabase se debe actualizar manualmente para liberar el bloqueo en la geodatabase. En esta sección se describe cómo funcionan estos bloqueos de esquema.
En las geodatabases de ArcSDE, puede haber más de un usuario leyendo y editando los mismos datos al mismo tiempo. Para poder trabajar con datos en una geodatabase para aplicaciones como ArcMap, la aplicación debe funcionar sobre el principio de que el esquema de la geodatabase permanezca fijo y no cambie en cualquier momento mientras se está trabajando con el contenido de la geodatabase. Por ejemplo, al agregar una clase de entidad desde una geodatabase al mapa, ni usted ni otro usuario pueden modificar su esquema. Una vez que haya quitado la clase de entidad del mapa y no haya ningún otro usuario consultando o editando dicha clase de entidad, se puede modificar el esquema.
Información general de bloqueo del esquema
Las geodatabases y sus datasets rara vez son estáticos. La mayoría de los datasets se editan y actualizan a través del tiempo. De vez en cuando, se agregan nuevos datasets y los existentes se quitan por diversas razones. Además, se realizan cambios de esquema en datasets existentes: agregar una columna de atributos, cambiar las reglas en una topología, agregar representaciones cartográficas, etc.
Si está trabajando con una geodatabase que tiene un único usuario, estos cambios son fáciles de hacer y no tiene que pensar cómo afectará su trabajo a los demás. Sin embargo, si otros usuarios acceden y utilizan la misma geodatabase en la que desea realizar modificaciones, tendrá que establecer algunos flujos de trabajo para realizar modificaciones del esquema. Por ejemplo, para realizar modificaciones sin afectar a otros usuarios, podría programar su trabajo del esquema de forma que se realice cuando todos los demás usuarios estén desconectados del sistema.
ArcGIS proporciona algunos mecanismos automatizados de bloqueo de esquema para ayudarle a administrar los cambios en la geodatabase. Es útil tenerlos en cuenta a la hora de planificar el trabajo.
Bloqueos compartidos
ArcGIS adquirirá automáticamente un bloqueo compartido en un dataset individual cuando esté en uso, por ejemplo, cada vez que un usuario edite o consulte el contenido de una clase de entidad o tabla. 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.
En una tabla o clase de entidad única se puede establecer cualquier número de bloqueos compartidos en un momento dado. Cuando se utiliza ArcGIS para modificar el esquema de geodatabase: por ejemplo, agregar un campo o modificar reglas. ArcGIS intentará establecer un bloqueo exclusivo en los datos que se están modificando. Sin embargo, si existe un bloqueo compartido en dicho dataset, no se puede establecer un bloqueo exclusivo.
Bloqueos exclusivos
Se utiliza un bloqueo exclusivo para bloquear el uso de un dataset en la geodatabase por parte de otros usuarios para realizar los cambios necesarios en el mismo; por ejemplo, modificar el esquema del dataset. Cuando un usuario con los permisos apropiados empiece a hacer cambios en un dataset en la geodatabase, ArcGIS establecerá automáticamente un bloqueo exclusivo en la tabla de atributos individual, tabla de clases de entidad, tabla rasterizada u otro dataset.
Si un usuario desea realizar cambios en un esquema de la geodatabase, otros usuarios no deben estar utilizando los datasets concretos con los que está trabajando. En otras palabras, para realizar cambios en un dataset, no debe existir un bloqueo compartido en dicho dataset.
Utilizar bloqueos en geodatabases personales
En las geodatabases personales, todos los bloqueos se aplican a todo el contenido de toda la geodatabase. Cuando se adquiere un bloqueo exclusivo o un bloqueo compartido en un elemento en una geodatabase personal, dicho bloqueo se aplica a toda la geodatabase. Esto significa que solo un editor puede editar una geodatabase personal a la vez.
Cualquier usuario que tenga el acceso de lectura y escritura apropiado al archivo de base de datos de Microsoft Access (.mdb) que contiene la geodatabase personal puede editar y cambiar su contenido de esquema.
Cuando acceda a una geodatabase personal almacenada en una unidad de red o a través de rutas UNC, asegúrese de que todos los usuarios tienen por lo menos acceso de escritura a la carpeta que contiene la geodatabase personal. Si todos los usuarios no tienen acceso de escritura, solo un usuario podrá abrir la geodatabase personal. Los siguientes intentos de abrir la geodatabase personal producirán un error de bloqueo del esquema, debido a la incapacidad del motor de base de datos Microsoft Jet de abrir y modificar el archivo .ldb para controlar el acceso al archivo .mdb.
Utilizar bloqueos en geodatabases de archivos
Los usuarios deben tener acceso de lectura y escritura a la carpeta de la geodatabase de archivos para realizar cambios en el esquema.
Los bloqueos de esquema, tanto compartidos como exclusivos, se aplican a datasets individuales y tablas relacionadas en una geodatabase de archivos. Por ejemplo:
- Si adquiere un bloqueo en una clase de entidad dentro de un dataset de entidades, el bloqueo se aplica a todo el dataset de entidades y su contenido.
- Los bloqueos también se aplican a ambos lados de una clase de relación. Por ejemplo, si dos clases de entidad independientes se relacionan a través de una clase de relación y adquiere un bloqueo exclusivo o compartido en una de ellos, el bloqueo también se aplica a la otra.
Utilizar bloqueos en geodatabases de ArcSDE
Los usuarios deben tener los permisos de usuario adecuados en la geodatabase de ArcSDE para realizar cambios en el esquema. Consulte Permisos de usuario para obtener información sobre cómo establecer y administrar los permisos en ArcSDE.
Los bloqueos de esquema, tanto compartidos como exclusivos, se aplican a datasets individuales y tablas relacionadas en una geodatabase de ArcSDE. Por ejemplo:
- Si adquiere un bloqueo en una clase de entidad dentro de un dataset de entidades, el bloqueo se aplica a todo el dataset de entidades y su contenido.
- Los bloqueos también se aplican a ambos lados de una clase de relación. Por ejemplo, si dos clases de entidad independientes se relacionan a través de una clase de relación y adquiere un bloqueo exclusivo o compartido en una de ellos, el bloqueo también se aplica a la otra.