您的位置:首页 > 数据库 > SQL

arcgis10.2 配置 Oracle11g extproc 使用 SQL 访问地理数据库的方法

2014-09-15 17:22 363 查看
帮朋友把一些shp数据导入到oracle中,用到了sde的一些内容,在此整理一下。

使用软件版本:arcgis10.2,Oracle 11g。

直连方法不做赘述,此处说两个问题:

1、arcgis10.2 配置 Oracle11g extproc的方法

Oracle11g 配置 st_shapelib.dll的方法与Oracle10g不同,主要步骤如下,转自arcgis官网

对于 Oracle 11g,Oracle 建议您通过更改 extproc.ora 文件而不是配置监听器来配置 EXTPROC。extproc.ora 文件位于 ORACLE_HOME\hs\admin 目录中。

将 ST_Geometry (st_shapelib) 和/或 ST_Raster 库移动到您的 Oracle 服务器上之后,更改 extproc.ora 文件以指向库的位置。

在 Windows 服务器上,您可添加与以下类似的行:

SET EXTPROC_DLLS=ONLY:C:\\mylibraries\\st_shapelib.dll


SET EXTPROC_DLLS=ONLY:C:\\mylibraries\\libst_raster_ora.dll


如果您使用两个库,可将它们放在一行上:
SET EXTPROC_DLLS=ONLY:C:\\mylibraries\\st_shapelib.dll;C:\\mylibraries\\libst_raster_ora.dll


在这些示例中,库放置在名为 mylibraries 的文件夹中,此文件夹在 Oracle 服务器上创建以存储库。


2、在PL/SQL中使用ST_shapelib函数。
本来以为按照步骤1的方法配置完成后,在PL/SQL中就能使用ST_shaplib里的函数了,但在执行中发生错误。

错误代码为:ORA-28595:Extproc代理:dll路径无效。

在PL/SQL中找到Libraries路径,发现是有ST_SHAPELIB的,然后右击→编辑(如下图),他的路径中有空格,于是,我把st_shapelib.dll文件单独复制出来,放到一个新目录下。

修改为:

再次执行sql语句,能够成功运行。

3.ST_SHAPELIB.dll文件函数。
arcsde提供了多种空间函数操作,具体看arcgis的帮助: http://resources.arcgis.com/zh-cn/help/main/10.2/index.html#/na/006z0000003n000000/

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐