管理文件地理数据库(包括复制、重命名和删除数据)应始终使用 ArcGIS(而非 Windows 资源管理器)来执行。ArcGIS 中的工具可确保不丢失数据或发生其他问题。
由于文件地理数据库在 Windows 资源管理器中显示为包含文件的文件夹,因此用户有时会尝试使用 Windows 资源管理器中提供的命令来处理文件地理数据库。而非文件夹上的设置权限来控制访问,Esri 不建议使用这些 Windows 资源管理器命令。本主题介绍了为什么不应使用 Windows 资源管理器重命名、删除、复制文件地理数据库及其内容或移除 lock 文件的背景知识。
Windows 资源管理器中的文件地理数据库文件
文件地理数据库以包含文件的文件夹形式存储。当使用 Windows 资源管理器查看文件夹时,除了 .gdb 扩展名之外,它看起来就像任何其他文件夹一样,并且可以查看它的内容。文件夹使用隐含命名文件存储地理数据、属性数据、索引文件、lock 文件、特征文件以及其他文件。地理数据库中的每个要素类或表存储在两个或多个文件中。实际上,很难(甚至是不可能)说出任何给定的数据集是由哪些文件所组成。
设置权限
文件地理数据库没有身份验证或授权功能。无法通过修改文件地理数据库文件夹中各文件的权限来控制对各数据集的访问。
但是,可以使用 Windows 资源管理器将文件地理数据库文件夹以只读形式共享。这样,只读用户即可显示和查询数据,但不能进行编辑。同时,具有写入权限的用户可以在其他人读取数据时对数据进行修改。当读取数据的用户刷新地图显示时,会在读取用户的 ArcGIS 客户端会话中更新其他用户所保存的所有更改。刷新操作不会引入未保存的编辑内容,因此用户无法读取另一用户所做的未保存的更改。如果要在编辑数据时禁止其他用户对其进行访问,可在修改数据前取消文件夹共享。
重命名和删除
在文件地理数据库中,不能使用 Windows 资源管理器对各数据集执行操作。重命名和删除文件地理数据库文件夹中的各个文件以及将文件复制到另一个位置会导致数据丢失,还会导致地理数据库无法使用。例如,如果使用 Windows 资源管理器将文件移动到另一个地理数据库文件夹,将会无法访问此数据。文件地理数据库文件夹的内容被特意给定一个隐含名称,以防止执行此类操作。对各个数据集的操作只能通过 ArcGIS 来执行。
地理数据库级的操作也只能通过 ArcGIS 来执行。但是,可以重命名或删除文件地理数据库文件夹,只有以下情况除外:
- 当另一用户正在从任何客户端访问数据时,无法重命名或删除地理数据库文件夹。
- 如果文件地理数据库保存于任一 ArcGIS Pro 工程中,请勿重命名或删除文件地理数据库文件夹。
注:
与处理其他类型的文件的方式一样,最好定期创建文件地理数据库的备份副本,以防出现任何问题。
复制
可通过将文件夹复制到另一位置将文件地理数据库复制到另一位置,但不推荐采用这种方式。仅当您确定没有其他进程正在访问数据时才可使用 Windows 资源管理器复制文件地理数据库。问题是很难得知其他进程是否正在访问数据。您可能认为没有其他进程访问数据,但您计算机上或另一计算机上的某个进程可能正在访问数据。如果您恰巧在另一进程正在访问数据时复制文件夹,可能无法正常复制数据。通常看不出来不正常的复制操作,直到日后访问新副本的某一部分时才会发现存在问题。
由于这种不确定性以及损坏文件地理数据库的可能性,因此 Esri 建议不要使用 Windows 资源管理器复制文件地理数据库。
移除 lock 文件
ArcGIS 通过防止多个进程以冲突方式同时访问数据来确保数据的完整性。每当进程访问数据集时,ArcGIS 都会在文件地理数据库文件夹中放置一个 *.lock 文件,从而对进程进行跟踪。当进程终止时,对应的 *.lock 文件将自动删除。
当进程过早结束或崩溃时,lock 文件可能会暂时留在地理数据库文件夹中。当新锁定发生时,ArcGIS 最终会在之后的会话中移除这些文件。同时,这些文件将不再继续锁定数据,由于它们不占用任何磁盘空间,将其移除不会带来任何好处。
数据库碎片整理地理处理工具以及复制和粘贴操作也可删除未使用的 .lock 文件。数据库碎片整理工具会在碎片整理过程中移除所有不活动的 lock 文件。复制和粘贴文件地理数据库会在将数据复制到新地理数据库之前从源地理数据库移除所有不活动的 lock 文件。