ORA-03106错误
最近几个月一直在修改一个dwg文件入库的程序,其流程是将dwg文件中的点、线保存到相应要素类中,然后将线要素层进行构面,再将构的临时面根据标注等特征进行识别、合并和提取属性,生成一个临时库。在从临时库导入正式库时,系统会检查更新区范围中的正式库是否存在要素,如果存在,则将这些要素提取后保存到历史库中,然后才将更新后的数据保存到正式库。
在进行三个库的数据转换时,单处理一个dwg文件,没有出现什么问题,但一处理了两个及以上的dwg数据,就在pFeatureCursor.NextFeature时,跳出一个错误:ORA-03106 fatal two-task communication protocol error。临时库和正式库均是SDE数据库,数据库ORACLE9.2,ArcSDE为9.1sp2。
在网上寻找这个错误的原因,应该与ARCSDE无关,而纯粹与ORACLE具有关系。有一篇关于该错误的描述文章说,可能是连接数量过多,我调试了一下自己的程序,发现一般新建第三个SDE连接的时候,就会出现这个问题,显然不是SDE连接数过多的缘故。为了解决这个问题,干脆在用完一个SDE后,显式将之设置为nothing。问题再也没有出现过。
Related Items
Comments
工作空间
AE 之中如何删除当前活动的图层,另外如何将TOC中选中的图层删除。需要使用那个方法。主要的问题就是在MapControl中该采用那个方法来得到当前活动的图层?谢谢
IMap.DeleteLayer
那怎么得到这个所要删除的Layer对象呢。如何知道在toc中你所激活的是那个layer。
没安装AE,没有使用过TOC控件的
虽然这个错误是oracle引起的,但本质上还是sde的问题,在oraini文件中禁用掉连接缓存就可以了,但对效率影响还是比较大的
Leave a comment
Or, take a look at Archives and Categories
显式将之设置为nothing,请问把哪一个参数设置为nothing呢?