oracle 12c设置st_shapelib.dll后报ORA-28595: Extproc 代理: DLL 路径无效错误问题

66 篇文章 13 订阅

安装一台服务器,JAVA、oracle 、arcgis,按部就班,照单抓药,一条龙服务。

但arcgis是10.6的,好高级,没用过,有点儿紧张。就测试了一下 oracle 对空间数据的支持,发现不行。

当然不行,要设置sde表空间的libralies,将st_shapelib.dll指向正确的问题:

首先,从arcgis的安装目录找到st_shapelib.dll,然后修改oracle,指向它。运行语句测试,失败

select sde.ST_AsText(SDE.ST_Geometry('POINT (10 10)', 4326)) from dual;

ORA-28595: Extproc 代理: DLL 路径无效

难道不支持10.6这么高级?拷贝了一个10.3的dll,同样错误。难道路径中含有空格不行(Program Files (x86))?,拷贝到别的目录,也不行。

后来发现,

将st_shapelib.dll拷贝到oracle的安装目录%ORCLE_HOME%\bin\下

,就好了。

网上也有许多教程说要改什么 listener.ora 和 extproc.ora,要我说,这可能暂时解决了当前的问题,但由于修改了系统的默认配置,以后引发其他异常也说不定。遵从默认就好,修改那么多配置,好像系统默认的就不合理一样。

另外,这个st_shapelib.dll,oracle安装完毕之后默认就是指向了%ORCLE_HOME%\bin\st_shapelib.dll,但是这个时候根本不存在这个dll,整个oracle安装目录都找不到这个dll。需要我们从arcgis安装目录中拷贝过来,或者到arcgis官网下载。这也说明,oracle其实并不天然支持arcgis的空间数据,要靠arcgis自己去扩展。

说到这里,我想起导数据(import)。属性数据一切正常,但导到SDE库就不行了,一堆报错,数据是进去了,但没法使用。我看公司的一些文档,说设置各项权限。现在看来,我怀疑是dll的问题。我猜测应该是这样:
1、创建SDE表空间
2、设置SDE的libraries,正确指向st_shapelib.dll
3、导入从其他库中导出的、包含SDE的数据包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值