错误

错误:无法编辑地图的任何图层,未将地图中的任何数据源注册为版本,或者您没有修改数据源的权限

Last Published: January 6, 2021

错误消息

在启动版本化编辑会话时,将显示以下错误消息:

错误: 无法编辑地图的任何图层, 未将地图中的任何数据源注册为版本,或者您没有修改已注册为版本的数据源的权限。
注: 本文适用于 ArcGIS 9.x 和 10.0 版本。 更高版本的 ArcGIS 可能包含不同的功能,对于菜单、命令和地理处理工具,可能具有不同的名称和位置。
注: ArcSDE 软件(包括应用程序服务器、命令工具以及带有 C 和 Java API 的 SDK)在 ArcGIS 10.2.2 中已弃用,不再进行分发。 ArcGIS 软件功能已弃用,但是不会立即将其移除,以便为客户提供向后兼容性,并且尽可能多地提前通知以采用更新的技术。

原因

在工作空间上启动版本化编辑会话时,将显示该错误。 如果未将数据注册为版本,则将显示此消息。 如果尝试启动编辑会话的用户没有选择、插入、更新和删除的相应对象权限(由 ArcCatalog 中的数据所有者授予),则也会显示该消息。

另外还存在一个潜在原因:如果 ArcCatalog 或 ArcMap 应用程序被锁定、崩溃,或者会话在地理数据库内驻留的要素类的数据加载或编辑会话期间结束,则要素类将卡在“仅加载 IO”模式下,从而阻止任何新的编辑内容或数据加载。

如果要素类位于要素数据集中,则整个要素数据集(包括其中的所有要素类)将不可编辑,直到受影响的要素类从“仅加载 IO”模式更改为“正常 IO”模式为止。

即使已正确地将数据注册为版本并且已分配所有相应权限,此错误消息也可能会持续存在。

解决方案或解决方法

首先,在 ArcCatalog 或 ArcMap 中的“目录”窗口中打开对象,检查正在进行编辑的对象的版本。

验证该图层是否已版本化。

  1. 编辑器工具条中,单击编辑器 > 选项
  2. 编辑选项对话框的版本化选项卡中,取消选中编辑某版本的数据库并且可以执行撤消和恢复操作复选框。

确认数据未卡在“仅加载 IO”模式下:

要确定是否由于数据卡在“仅加载 IO”模式下而引发该错误消息,请按照以下步骤进行操作:

  1. 执行以下 sde 命令以检查是否以“加载”或“正常”模式列出数据库中的数据。 将在整个数据库上执行此命令。 此命令返回的结果较长;因此,结果将发送至文本文件,如在 sde 命令行语法末尾添加 [> output.txt] 所示。
代码: sdelayer -o describe [-i <service> | <port#> | <direct connection>] [-s <server_name>] [-D <database_name>] -u <DB_user_name> [-p <DB_user_password>] [-q]

示例:

代码: sdelayer -o describe -i sde:sqlserver:GIS -D Landbase >Describe.Landbase1.txt
  1. 打开输出文本文件并查看内容。 查找 I/O 模式设置为“加载”的所有数据。
  2. 如果找到 I/O 模式显示为“加载”的数据,请使用以下两个选项之一将模式更改为“正常”:
    • 选项 1:在 ArcCatalog 内,打开要素类的属性对话框。 计算空间索引,然后单击保存
    • 选项 2:执行以下 sde 命令语法:
"> 代码: sdelayer -o normal_io -l <table,column> [-i <service> | <port#> | <direct connection>] [-s <server_name>] [-D <database_name>] -u <DB_user_name> [-p <DB_user_password>] [-q]

示例:

代码: sdelayer -o normal_io -l victoria,parcels -u av -p mo -i esri_40

文章 ID:000010993

从 ArcGIS 专家处获得帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项

相关信息

发现关于本主题的更多内容