The requested operation is invalid on a closed state
读取的数据库为postgresql,在网上浏览解决方法时发现用python链接SDE时也会有这问题。
说解决办法;
出错时我的操作是:
workspaceMulti.StartMultiuserEditing(esriMultiuserEditSessionMode.esriMESMNonVersioned);
workspaceEdit.StartEditOperation();
workspaceEdit.StartEditing(true);
中间是编辑操作
workspaceEdit.StopEditOperation();
workspaceEdit.StopEditing(true);
然后将workspaceEdit.StartEditOperation();放在workspaceEdit.StartEditing(true);后面就可以解决了。
问题剖析:
根据流程可以看到:
IWorkspaceEdit
接口可以使用户开始和结束编辑,
在这期间
geodatabase
中的对象可以更
新
EditOperation开始编辑操作,该过程的开始和结束要写在Editing编辑任务之间问题吐槽:
这个问题非常诡异,之前我那么写很长一段时间都没错,直到出错了之后才开始寻找解决方案,可是翻遍百度没有,去谷歌找,发现国外的网友们也被这个问题困扰许久,后来看了图,突然灵机一动,解决了,只是调换个位置的事,怎么这么麻烦