`
xiangzhengyan
  • 浏览: 124681 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle sde dll 路径无效

阅读更多
http://m.blog.csdn.net/blog/hhhweiwei/18264163


问题描述:

在GIS系统中保存或者空间查询等与空间数据有关的操作过程中有时会出现如下问题:提示代理DLL路径无效;





如果出现上述问题,按如下步骤尝试解决:

1:用sde用户登入Oracle,运行如下语句:

select * from user_libraries; 

查看是否有”ArcGIS\ArcSDE\ora11gexe\bin\st_shapelib.dll  “的一行数据,即有SDE相关的DLL引用;



---------------------------------------------------------------------------------------------------------------------------------

如有则进行如下操作:

1)找到oracle数据库的安装目录下的监听配置文件:listener.ora文件,路径地址一般在如:product\11.2.0\dbhome_1\NETWORK\ADMIN类似目录下;(先备份监听配置文件listener.ora)

2)打开监听配置文件,找到 (PROGRAM = extproc) 这一行,在这行下面添加对ST_SHAPELIB的引用,即指定ST_SHAPELIB的地址,如下:
(ENVS="EXTPROC_DLLS=C:\ProgramFiles\ArcGIS\ArcSDE\ora10gexe\bin\st_shapelib.dll")
其中“C:\ProgramFiles\ArcGIS\ArcSDE\ora10gexe\bin\st_shapelib.dll”为ST_SHAPELIB的物理路径,可以根据安装情况自己修改。(指定的地址必须与上面语句查询到的dll路径一致)


3)保存listener.ora文件,重新启动监听程序。

---------------------------------------------------------------------------------------------------------------------------------

如没有则进行如下操作(还是在sde用户下):

1:在SDE安装目录的bin目录下找到:st_shapelib.dll,pe.dll,sg.dll这三个dll,拷贝到Oracle的安装目录下,如”D:\Oracle\product\11.2.0\dbhome_1\BIN”下,此外还需要设置对这三个文件的读写权限操作。

2:在sde用户下运行如下两条语句(使用命令窗口运行):

         1):

create or replace library ST_SHAPELIB  as 'D:\Oracle\product\11.2.0\dbhome_1\BIN\st_shapelib.dll'; 

2):

alter package sde.st_geometry_shapelib_pkg compile reuse settings; 

注:as后面的地址为步骤1下的三个dll放置的目录;

3:修改监听配置文件listener.ora中的(ENVS="EXTPROC_DLLS=C:\ProgramFiles\ArcGIS\ArcSDE\ora10gexe\bin\st_shapelib.dll")一行,设置为“EXTPROC_DLLS=ANY”;(注意备份)



4:保存listener.ora文件,重新启动监听程序。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics