错误

错误:工作空间已处于事务模式

Last Published: April 25, 2020

错误消息

运行 Python 脚本以编辑在企业级地理数据库中存储的非版本化数据失败,并返回以下运行时错误:

错误: 
工作空间已处于事务模式
The image of the Python error

原因

此错误有以下几个可能的原因:

  • 许可级别不足,无法编辑企业级地理数据库。
  • 循环使用 InsertCursor() 函数,如以下代码示例所示:
with arcpy.da.InsertCursor(PatchesFC, icFields) as iCursor:
            iCursor.insertRow(rowTuple)
  • startEditing() 函数的 with_undo 和 multiuser_mode 参数错误。 有关详细信息,请参阅以下 web 帮助文档:ArcGIS Desktop:编辑器

解决方案或解决方法

要解决此错误,请使用以下解决方案之一:
  • 仅在 Standard 或 Advanced 许可下,方可编辑版本化数据。 在 Basic 许可下禁用编辑。 升级许可级别以启用编辑版本化数据。
  • 将 InsertCursor() 函数声明为一个对象,而非将其包含在一个循环中,如以下代码片段所示:
iCursor = arcpy.da.InsertCursor(PatchesFC, icFields)
  • 将 startEditing() 函数中的 with_undo 和 multiuser_mode 参数设置为 False。 将该参数设置为 False 时,会将对编辑数据的完全控制权限授予当前用户。 以下代码片段说明了如何将该参数设置为 False。
edit.startEditing(False, False)
:
在 startEditing() 函数中,第一个参数为 with_undo 参数,第二个参数为 multiuser_mode 参数。

例如:
startEditing({with_undo}, {multiuser_mode})

文章 ID:000019111

从 ArcGIS 专家处获得帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项

相关信息

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