arcgis10.2 配置 Oracle11g extproc 使用 SQL 访问地理数据库的方法
2014-09-15 17:22
363 查看
帮朋友把一些shp数据导入到oracle中,用到了sde的一些内容,在此整理一下。
使用软件版本:arcgis10.2,Oracle 11g。
直连方法不做赘述,此处说两个问题:
对于 Oracle 11g,Oracle 建议您通过更改 extproc.ora 文件而不是配置监听器来配置 EXTPROC。extproc.ora 文件位于 ORACLE_HOME\hs\admin 目录中。
将 ST_Geometry (st_shapelib) 和/或 ST_Raster 库移动到您的 Oracle 服务器上之后,更改 extproc.ora 文件以指向库的位置。
在 Windows 服务器上,您可添加与以下类似的行:
如果您使用两个库,可将它们放在一行上:
在这些示例中,库放置在名为 mylibraries 的文件夹中,此文件夹在 Oracle 服务器上创建以存储库。
使用软件版本: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/
相关文章推荐
- MySQL---数据库从入门走向大神系列(七)-Java访问数据库配置及简单使用方法execute
- PL/SQL developer远程访问数据库配置方法
- 不安装 oracle的客户,就可以使用pl/sql访问远程oracle 数据库的方法
- 不安装 oracle的客户,就可以使用pl/sql访问远程oracle 数据库的方法
- VC++ MFC SQL ADO数据库访问技术使用的基本步骤及方法
- VC++ MFC SQL ADO数据库访问技术使用的基本步骤及方法
- SQL还原数据库时发生错误,"因为数据库正在使用,所以未能获得对数据库的排它访问权。"解决方法。
- VC++ MFC SQL ADO数据库访问技术使用的基本步骤及方法
- 配置Oracle访问SQL地理数据库
- oracle的客户,就可以使用pl/sql访问远程oracle 数据库的方法
- ADO.NET访问数据库-SqlCommand的ExecuteReader方法一般配合sqldatareader使用
- Oracle11g结合ArcGIS10.2建立空间数据库ST_Geometry类库配置问题
- 不安装 oracle的客户,就可以使用pl/sql访问远程oracle 数据库的方法
- 不安装 oracle的客户,就可以使用pl/sql访问远程oracle 数据库的方法
- 不安装 oracle的客户,就可以使用pl/sql访问远程oracle 数据库的方法
- 数据库基类方法(直接使用SQL语句或存储过程调用)
- 通过一条sql语句访问不同服务器中的数据库对象的方法
- AppFramework1.0数据库访问组件使用说明(三)配置文件详解
- JSP中使用JDBC驱动访问MS SQL SERVER数据库的例子
- Delphi使用BDE连接远程MS SQL SERVER 2000数据库时出现“Db-library network communciations layer not loaded.”错误的解决方法