中文

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

错误消息

运行 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})

相关信息

上次修改时间: 5/22/2019

文章 ID: 000019111

软件: ArcMap 10.5.1, 10.5