Une structure est l'organisation ou forme d'une base de données, ou bien d'un objet de base de données tel qu'une classe ou table d'entités. Lorsqu'une structure est verrouillée, cela signifie que vous ne pouvez pas modifier la structure d'une base de données (par ajout ou suppression de champs) car une autre application a actuellement accès à celle-ci. Dans une grande partie des cas, le verrouillage de la structure est dû à l'affichage d'un jeu de données dans ArcMap.
Quatre règles résument le comportement des scripts et des outils de géotraitement lors de l'utilisation de données auxquelles d'autres applications peuvent accéder simultanément.
- Les outils peuvent toujours créer des données dans un espace de travail en sortie, même si celui-ci est soumis à un verrouillage de structure. La création d'une classe d'entités dans un jeu de données d'entité à l'aide de l'outil Créer une classe d'entités dans ArcCatalog alors qu'ArcMap accède à ce jeu en est un exemple.
- Les outils qui mettent à jour la structure d'un jeu de données respectent toujours les verrouillages appliqués par d'autres applications ArcGIS qui accèdent au jeu de données. Par exemple, si une classe d'entités de routes est affichée dans ArcMap, l'outil Ajouter un champ échoue lorsqu'il est exécuté à partir d'ArcCatalog à l'aide de la même classe d'entités de routes comme entrée. L'échec de l'outil génère un message d'erreur indiquant qu'un autre utilisateur accède aux données.
- Les scripts peuvent toujours mettre à jour la structure de données créée par des outils dans le même script, même si l'espace de travail actif est utilisé par une autre application. Par exemple, un outil de script peut créer une classe d'entités dans une géodatabase personnelle à laquelle accède son application appelante, telle qu'ArcMap. D'une manière générale, les géodatabases personnelles ne permettent pas qu'un autre processus n'exerce de mouvement de structure sur un jeu de données une fois qu'il est ouvert, mais l'outil de script peut appliquer un mouvement de structure à la classe d'entités qu'il vient de créer.
- Les scripts et les outils de script ne peuvent pas modifier la structure de données auxquelles une autre application ou un autre script accède. Cela inclut les données envoyées par une application, telle qu'ArcMap, à un outil de script ; par conséquent, un outil de script ne peut pas ajouter ni supprimer un champ d'une couche qui lui est transmise en tant que paramètre.