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);后面就可以解决了。



问题剖析:

The requested operation is invalid on a closed state

根据流程可以看到:

IWorkspaceEdit

接口可以使用户开始和结束编辑,

在这期间

geodatabase

中的对象可以更

EditOperation开始编辑操作,该过程的开始和结束要写在Editing编辑任务之间

问题吐槽:

这个问题非常诡异,之前我那么写很长一段时间都没错,直到出错了之后才开始寻找解决方案,可是翻遍百度没有,去谷歌找,发现国外的网友们也被这个问题困扰许久,后来看了图,突然灵机一动,解决了,只是调换个位置的事,怎么这么麻烦