SDE数据编辑过程中异常中断后产生错误的处理

      ArcSDE经常在数据导入或编辑过程中中断,其间有人为因素(调试中断)也有非人为因素(断网),中断后的直接恶果就是程序再次执行出错。错误号是-2147216556,错误解释是 FDO_E_OBJECTCLASS_REQUIRES_AN_EDIT_SESSION。

      通常让写程序的人很郁闷,因为在程序中已经调用了StartEdit等,程序已经开始session编辑过程,确还报上述的错误。而事实上上是ArcSDE的空间索引已经在中断过程中被破坏了,需要重新计算。在我们对数据进行编辑的过程中,新添加记录或修改记录都会自动地去修改当前的要素类的索引,如果程序这时出错,空间索引的修改过程是无法完成的。导致我们在重新编辑数据的过程中无意中使用了无效的空间索引,在编辑过程中就会报-2147216556错误。

      解决方法就是重新计算空间索引。重新计算空间索引在ArcGIS有很多种方法,可以用ArcCatalog属性页中Index项下操作索引编辑或重新计算功能。或者是采用GP下的重新计算索引工具。甚至也可以用代码来修改,在ArcObjects的帮助中,有如下的方法可以参考:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值