环境
SDE版本:10./10.2/10.2.1/10.2.2
Oracle版本:11g R2 11.2.0.1
Windows版本:Windows Server 2008 R2
问题描述及原因
以全球的边界数据为样例数据,执行语句:
select sde.st_astext(sde.st_centroid(shape)) from sde.world;
报网络错误,错误编码ORA-28579:
由于该错误编码在之前也遇到过,但执行的是st_astext函数,如下图所示:
经测试发现st_astext函数可以正常运行,没有错误。另外,执行常用的测试语句
select st_point(0,0,0) from dual;
也正常运行。
在解决的过程中,参考了support网站上的关于错误编码ORA-28579的解释,链接如下:
http://support.esri.com/en/knowledgebase/techarticles/detail/38823
当时涉及的版本是SDE 9.3.1和10,指出该问题是Oracle 的一个bug。由于该类问题在其他环境下所执行不同的函数时都会报此错误,初步判断是由于不稳定造成,应该是Oracle的一个Bug。
解决方法
从优先选择解决问题的角度出发,以Oracle 11g r2 11.2.0.3版本为蓝本进行测试。在更换了底层数据库后,执行st_point、st_centroid和st_astext等函数都可以正常运行。
所以建议使用11.2.0.3及以上版本即可解决该问题。
时间: 2024-10-13 08:42:47