关于配置ST_Geometry报ORA-06522的问题

时间:2022-09-13 14:35:15

环境

SDE版本:10./10.2/10.2.1/10.2.2

Oracle版本:11g R2 11.2.0.1

Windows版本:Windows Server 2008 R2

问题描述及原因

listener.ora文件配置内容:

关于配置ST_Geometry报ORA-06522的问题

tnsnames.ora文件配置内容:

关于配置ST_Geometry报ORA-06522的问题

配置完成后,重启数据库及监听器,并执行常用测试函数:

select st_point(0,0,0) from dual;

报ORA-06520和ORA-06522的错误,如下图:

关于配置ST_Geometry报ORA-06522的问题

提示无法加载DLL文件,经过检查DLL文件已经放到相应的配置目录下。配置文件的内容也都正常,正常来说都可以执行。当时定位时,联想到提示字面语“Unable to load DLL”,怀疑是不是还缺少说明没有安装。经过排查发现,没有安装Microsoft Visual C++ 2008 SP1 Redistributable Package (x64)组件。由于10.1版本以后,官方建议使用直连的方式,在数据库端也不需要再安装SDE组件,所以才会导致该问题。另外,官网文档也给出了提示:

关于配置ST_Geometry报ORA-06522的问题

解决方法

到微软的官网下载安装Microsoft Visual C++ 2008 SP1 Redistributable Package (x64)即可解决该问题,地址:

http://www.microsoft.com/zh-cn/download/details.aspx?id=2092