Если вы единственный пользователь, работающий с набором данных файловой базы геоданных и используете его только в одном процессе, вы можете свободно редактировать и изменять его свойства. Вы также можете удалять, сжимать и отменять сжатие набора данных.
Однако ArcGIS не позволит вам выполнять эти операции в случае, если другой процесс уже работает с данными – это может быть процесс, расположенный на вашем компьютере, другом компьютере или сервис. По окончании процесса вы снова сможете выполнять эти операции. К примеру, если у вас есть класс объектов, отображенный на карте в ArcMap или ArcGIS Pro, и вы пытаетесь удалить один и тот же класс объектов из базы геоданных, вы получите следующее сообщение:
Failed to delete selected object(s) Cannot acquire a schema lock because of an existing lock.
если вы закроете карту и попытаетесь снова, вы уже сможете удалить класс объектов, обеспечив тем самым, что другие процессы не работают с данными.
Получив доступ к набору данных, процесс его блокирует, не давая другим процессам его изменять. Доступ к набору данных блокирует не только этот набор данных, но и следующие дополнительные связанные наборы данных:
- Доступ к классу пространственных объектов в наборе классов блокирует все остальные классы в этом наборе.
- Блокировки применяются также для объектов обоих сторон класса отношений. То есть, если два отдельных класса пространственных объектов связаны посредством класса отношений и один из них задействован в процессе, блокируются оба класса.
Для сохранения блокировки наборов данных ArcGIS размещает файлы блокировок в папку файловой базы геоданных. Когда процесс прекращается, связанные с ним файлы блокировки автоматически удаляются. В некоторых случаях, например, когда процесс аварийно заканчивается, файлы блокировок могут оставаться в папке базы геоданных. Эти файлы блокировок будут удалены ArcGIS в будущих сеансах при создании новых блокировок. Они также удаляются при запуске вами инструмента геообработки Уплотнить либо при копировании и вставке объектов в ArcGIS. В промежутке между этими событиями эти файлы блокировки не блокируют данные.
Блокировки очень важны для управления файлами и процессами. Но иногда кажется, что они только мешают. Если у вас не получается редактировать набор данных или его свойства, либо что-то удалить, сжать или отменить сжатие, и вы получаете сообщения об ошибках, причины могут быть следующие:
- Вы работаете с данными одновременно в двух приложениях или сервисах. Закройте одно из приложений либо остановите сервис, чтобы выполнить необходимую вам операцию.
- Другой процесс на вашем компьютере всё ещё удерживает данные, так как не был закрыт правильным образом. Например, если приложение хотя и не запущено, оно тем не менее некорректно закрыто и поэтому может все еще блокировать данные. Откройте Диспетчер задач и закройте там подвисшие процессы.