Dans les géodatabases de groupe de travail ou d'entreprise, plusieurs utilisateurs peuvent lire et modifier les mêmes données simultanément. Pour pouvoir utiliser des données dans une géodatabase pour les applications telles qu'ArcMap, l'application doit fonctionner sur le principe que la structure de géodatabase reste fixe et ne change pas lorsque vous travaillez avec le contenu de la géodatabase. Par exemple, lorsque vous ajoutez, à votre carte, une classe d'entités provenant d'une géodatabase, sa structure ne peut pas être modifiée, que ce soit par vous-même ou un autre utilisateur. Une fois la classe d'entités supprimée de votre carte ou bien la carte fermée, et si aucun utilisateur n'interroge ou ne modifie la classe d'entités, sa structure est modifiable.
Vue d'ensemble du verrouillage de structure
Les géodatabases et leurs jeux de données sont rarement statiques. La plupart des jeux de données sont modifiés et mis à jour au cours du temps. Parfois, de nouveaux jeux de données sont ajoutés et des jeux de données existants sont supprimés pour diverses raisons. De plus, des mouvements de structure sont apportés à des jeux de données existants, pour ajouter une colonne attributaire, modifier les règles d'une topologie, ajouter des représentations cartographiques, etc.
Si vous utilisez une géodatabase mono-utilisateur, ces modifications sont faciles à effectuer et vous ne devez pas vous préoccuper de l'impact de vos tâches sur les autres utilisateurs. Par contre, si d'autres utilisateurs accèdent à la géodatabase dans laquelle vous voulez apporter des modifications et l'utilisent, vous devez établir des workflows pour effectuer des mouvements de structure. Par exemple, pour apporter des modifications sans gêner les autres utilisateurs, vous pouvez prévoir d'exécuter vos tâches sur la structure lorsque les autres utilisateurs sont se sont déconnectés du système.
ArcGIS fournit quelques mécanismes de verrouillage de structure automatisés qui vous aident à gérer vos modifications de géodatabase. Prenez en compte les points suivants lorsque vous planifiez votre travail.
Verrouillages de schéma partagés
ArcGIS acquiert automatiquement un verrou partagé sur un jeu de données individuel quand ce dernier est en cours d'utilisation, par exemple, chaquefois qu'un utilisateur met à jour ou interroge le contenu d'une classe d'entités ou d'une table. Ce mécanisme est utilisé afin que d'autres utilisateurs ne puissent pas apporter de modifications au jeu de données sous-jacent et sa structure pendant qu'il est utilisé.
Un nombre illimité de verrouillages partagés peut être établi sur une seule classe d'entités ou table à un moment donné. Quand vous utilisez ArcGIS pour modifier votre structure de géodatabase, par exemple, pour ajouter un champ ou modifier des règles, ArcGIS tente d'établir un verrouillage exclusif sur les données modifiées. Cependant, s'il existe un verrouillage partagé sur ce jeu de données, un verrouillage exclusif ne peut pas être établi.
Verrouillages de schéma exclusifs
Un verrouillage exclusif est utilisé pour verrouiller un jeu de données de la géodatabase et empêcher les autres de l'utiliser pendant que les modifications nécessaires sont apportées à ce jeu de données, par exemple, la modification de la structure du jeu de données. Une fois qu'un utilisateur détenant les autorisations appropriées commence à apporter des modifications à un jeu de données de la géodatabase, ArcGIS établit automatiquement un verrouillage exclusif sur la table attributaire, la table de classes d'entités, la table raster ou un tout autre jeu de données.
Si un utilisateur veut apporter des modifications à une structure de géodatabase, les jeux de données spécifiques qu'il utilise ne doivent pas être utilisés par d'autres personnes. En d'autres termes, pour pourvoir apporter des modifications à un jeu de données, aucun verrouillage partagé ne doit exister sur ce jeu de données.
Verrouillages dans les géodatabases personnelles
Dans les géodatabases personnelles, tous les verrouillages s'appliquent à l'ensemble du contenu de toute la géodatabase. Une fois qu'un verrouillage exclusif ou partagé est acquis sur un élément d'une géodatabase personnelle, il s'applique à l'intégralité de la géodatabase. Cela signifie qu'un seul éditeur peut modifier une géodatabase personnelle à un moment donné.
Tout utilisateur qui détient un accès en lecture et en écriture approprié au fichier de base de données Microsoft Access (mdb) contenant la géodatabase personnelle peut mettre à jour et modifier le contenu de sa structure.
Lorsque vous accédez à une géodatabase personnelle stockée sur une unité de réseau ou via des chemins d'accès UNC, assurez-vous que tous les utilisateurs ont au moins un accès en écriture au dossier qui contient la géodatabase personnelle. Si tous les utilisateurs n'ont pas un accès en écriture, un seul utilisateur sera en mesure d'ouvrir la géodatabase personnelle. Les tentatives ultérieures d'ouverture de la géodatabase personnelle provoquent une erreur de verrouillage de structure, en raison de l'incapacité du moteur de base de données Microsoft Jet à ouvrir et modifier le fichier .ldb pour contrôler l'accès au fichier .mdb.
Verrouillages dans les géodatabases fichier
Les utilisateurs doivent avoir un accès en lecture/écriture au dossier de géodatabase fichier pour apporter des modifications à sa structure.
Les verrouillages de structure, partagés et exclusifs, s'appliquent aux jeux de données individuels et aux tables reliées d'une géodatabase fichier. Par exemple :
- Si vous acquérez un verrouillage sur une classe d'entités dans un jeu de classes d'entités, le verrouillage s'applique à l'ensemble du jeu de classes d'entités et à son contenu.
- Les verrouillages s'appliquent aussi aux deux côtés d'une classe de relations. Par exemple, si deux classes d'entités autonomes sont reliées par une classe de relations et que vous acquérez un verrouillage exclusif ou partagé sur l'une d'entre elles, le verrouillage s'applique également à l'autre classe d'entités.
Verrouillages dans les géodatabases de groupe de travail ou d'entreprise
Les utilisateurs doivent détenir un jeu de données pour être en mesure de modifier son schéma et disposer des privilèges appropriés pour pouvoir modifier les données d'autres utilisateurs.
Les verrouillages de structure, partagés et exclusifs, sont appliqués aux jeux de données individuels et aux tables reliées. Par exemple :
- Si vous acquérez un verrouillage sur une classe d'entités dans un jeu de classes d'entités, le verrouillage s'applique à l'ensemble du jeu de classes d'entités et à son contenu.
- Les verrouillages s'appliquent aussi aux deux côtés d'une classe de relations. Par exemple, si deux classes d'entités autonomes sont reliées par une classe de relations et que vous acquérez un verrouillage exclusif ou partagé sur l'une d'entre elles, le verrouillage s'applique également à l'autre classe d'entités.