Схема — это структура базы данных или объекта базы данных, например, класса пространственных объектов или таблицы. Блокировка схемы означает, что другое приложение производит доступ к базе данных, и вы не можете изменить его структуру, например, добавить или удалить поле. Чаще всего причиной блокировки схемы является добавление набора данных в ArcMap.
Имеется четыре правила, которые описывают поведение инструментов геообработки и скриптов при использовании данных, доступ к которым может быть произведен одновременно из других приложений.
- Инструменты всегда могут создать новые данные в выходной рабочей области, даже если схема выходной рабочей области была блокирована. Примером этого может служить создание класса объектов в наборе данных объектов с помощью инструмента Создать класс пространственных объектов (Create Feature Class) в ArcCatalog в то время, когда ArcMap осуществляет доступ к набору данных объектов.
- Инструменты, которые производят обновление схемы набора данных, всегда будут учитывать наличие имеющихся блокировок, которые могли быть созданы другими приложениями ArcGIS, которые обращаются к наборам данных. Например, если класс объектов дорог отображается в одном сеансе ArcMap, то инструмент Добавить поле (Add Field) завершит работу с ошибкой при его запуске из другого сеанса ArcMap, использующем тот же класс объектов дорог в качестве входных данных. Инструмент произведет вывод ошибки о том, что в настоящее время к данным обращается другой пользователь.
- Скрипты всегда смогут обновить схему данных, созданных инструментами в этом же скрипте, даже если текущая рабочая область используется другим приложением. Например, инструмент на основе скрипта всегда сможет создать класс пространственных объектов в персональной базе геоданных, к которой обращается другое приложение, например, ArcMap. Как правило, персональные базы геоданных не позволят другому приложению произвести изменения в наборе данных, как только он будет открыт, однако инструмент на основе скрипта сможет произвести изменение схемы класса пространственных объектов, который он только что создал.
- Скрипты и инструменты на основе скриптов не смогут изменить схему данных, к которым обращается другое приложение или скрипт. Это относится также к данным, которые были переданы из приложения, например, ArcMap, инструменту на основе скрипта, так что инструмент на основе скрипта не сможет изменить или удалить поле из слоя, который был передан ему в качестве параметра.