如何解决 ORA-28595: Extproc 代理: DLL 路径无效

来源:转载

前言:

本机正常安装了 oracle11g  和 ArcSDE10, 想要查询某个空间图层表的shape字段值,所以写了如下sql语句在PL/SQL里执行,

select sde.st_astext(shape) from DLWG_SQ,


但是一直提示如下错误:

ORA-28595: Extproc 代理: DLL 路径无效
ORA-06512: 在 "SDE.ST_GEOMETRY_SHAPELIB_PKG", line 70
ORA-06512: 在 "SDE.ST_GEOMETRY_OPERATORS", line 68

百度了一番也没找到方法,后来还是通过 google 查找到了线索,通过调试一番终于解决,在此给大家说明一下解决的思路。


我本机的 oracle11g 安装目录为 E:/oracle11g。

1、打开 E:/oracle11g/product/11.2.0/dbhome_1/NETWORK/ADMIN 目录下的 listener.ora 文件,

发现之前写的是 :

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:/oracle11g/product/11.2.0/dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:E:/oracle11g/product/11.2.0/dbhome_1/bin/oraclr11.dll")
    )
  )


把它修改为:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:/oracle11g/product/11.2.0/dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ANY")
    )
  )


2、打开  E:/oracle11g/product/11.2.0/dbhome_1/hs/admin 目录下的 extproc.ora文件,

最后一行原来写的 是 SET EXTPROC_DLLS=  , 把他修改为 SET EXTPROC_DLLS=ANY


3、重启 OracleOraDb11g_home1TNSListener服务和  OracleServiceORCL服务。


4、重启 PL/SQL ,再次运行  select sde.st_astext(shape) from DLWG_SQ, 这次终于不再提示错误了,正常查询到结果。




分享给朋友:
您可能感兴趣的文章:
随机阅读: