环境
SDE版本:10./10.2/10.2.1/10.2.2
Oracle版本:11g R2 11.2.0.1
Windows版本:Windows Server 2008 R2
问题描述及原因
listener.ora文件配置内容:
tnsnames.ora文件配置内容:
配置完成后,重启数据库及监听器,并执行常用测试函数:
select st_point(0,0,0) from dual;
报ORA-06520和ORA-06522的错误,如下图:
提示无法加载DLL文件,经过检查DLL文件已经放到相应的配置目录下。配置文件的内容也都正常,正常来说都可以执行。当时定位时,联想到提示字面语“Unable to load DLL”,怀疑是不是还缺少说明没有安装。经过排查发现,没有安装Microsoft Visual C++ 2008 SP1 Redistributable Package (x64)组件。由于10.1版本以后,官方建议使用直连的方式,在数据库端也不需要再安装SDE组件,所以才会导致该问题。另外,官网文档也给出了提示:
解决方法
到微软的官网下载安装Microsoft Visual C++ 2008 SP1 Redistributable Package (x64)即可解决该问题,地址:
http://www.microsoft.com/zh-cn/download/details.aspx?id=2092