摘要:访问存储在oracle中的ST_Geometry类型数据的SQL函数通过扩展oracle的external procedure agent或者extproc来实现,因此,直接使用这些SQL函数需要配置oracle的listener,让oracle能够找到这些扩展库。如果使用SDE读取这些数据,则不需要配置。
访问存储在oracle中的ST_Geometry类型数据的SQL函数通过扩展oracle的external procedure agent或者extproc来实现,因此,直接使用这些SQL函数需要配置oracle的listener,让oracle能够找到这些扩展库。如果使用SDE读取这些数据,则不需要配置。
这些对ST_Geometry类型数据进行操作的函数是用PL/SQL实现的,在PL/SQL中其实是转调的使用c语言编写的外部扩展库(ST_SHAPELIB)。
关于oracle的listener的详细配置方法请参考oracle的相关文档,下面主要介绍一下默认情况下如何配置(windows下面)。
1) 找到oracle数据库的安装目录(服务器端),然后定位到oraclehome\NETWORK\ADMIN目录
2) 备份listener.ora文件,这点很重要,在对oracle的配置做任何更改的时候都要进行备份
3) 打开listener.ora文件,找到 (PROGRAM = extproc) 这一行,在这行下面添加对ST_SHAPELIB的引用,即指定ST_SHAPELIB的地址,如下:
(ENVS="EXTPROC_DLLS=C:\Program Files\ArcGIS\ArcSDE\ora10gexe\bin\st_shapelib.dll")
其中“C:\Program Files\ArcGIS\ArcSDE\ora10gexe\bin\st_shapelib.dll”为ST_SHAPELIB的物理路径,可以根据安装情况自己修改。
4) 保存listener.ora文件,重新启动监听程序。
barry
附录:
未修改前的listener.ora
# listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1
\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = zbc)(PORT = 1521))
)
)
修改后的listener.ora
# listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1
\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
(ENVS="EXTPROC_DLLS=C:\Program Files\ArcGIS\ArcSDE\ora10gexe\bin\st_shapelib.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = zbc)(PORT = 1521))
)
)
以下是在linux环境下的实际配置:
# listener.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER_RAC1 =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
(ENVS="EXTPROC_DLLS=/opt/arcsde/sdeexe93/lib/libst_shapelib.so,LD_LIBRARY_PATH=/opt/arcsde/sdeexe93/lib:/u01/app/oracle/product/10.2.0/db_1/lib")
)
(SID_DESC =
(SID_NAME = yyk1)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(GLOBAL_NAME = yyk)
)
)
LISTENER_RAC1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip.*.org)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.*.*.101)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
)
测试:
select * from user_libraries;
select sde.st_srid(shape) from BS_DIMAO_AR_20W ;
select sde.st_astext(sde.ST_Geometry('POINT ( 102.16598313 36.02395352)', 0)) as aa from dual ;
select * from st_spatial_references ;
select * from st_geometry_columns t ;
select sde.st_srid(shape) from BS_XINGZHENG_TEXT ;
select sde.st_astext(sde.ST_Geometry('POINT ( 102.16598313 36.02395352)', 0)) as aa from dual ;
分享到:
相关推荐
解决 ST_Geometry 错误的关键是确保 st_shapelib.dll 文件存在于正确的路径下,并且正确地编译 st_geometry_shapelib_pkg 和 st_geom_util 这两个文件。 三、结论 本文详细介绍了解决 Oracle 安装 SDE 报 ST_...
sde手册sde手册sde手册sde手册sde手册sde手册
6个dll的打包 Arcgis连接 postgresql sde 时遇到的问题以及解决办法 Arcgis连接 postgresql sde 时遇到的问题以及解决办法
解决OracleRAC集群下创建SDE时报Stored procedures错误问题 环境:Oracle11.2.0.3 两节点RAC集群,windows server2008R2,FCSAN共享存储,ArcGIS Desktop 1031
C:\Users\lenovo>sqlplus SQL*Plus: Release 11.2.0.1.0 Production on 星期日 7月 8 16:47:52 2012 Copyright (c) 1982, 2010,... 请输入用户名: sde/sde ERROR: ORA-28002: the password will expire within 7 days
最新版本(ArcGIS Sde 10 )破解许可,仅供学习交流使用。
ArcGis创建SDE数据库发布地图 一、 找到创建SDE 二、 创建SDE数据库连接 三、 正在创建 四、 创建完成 五、 ArcMap连接数据库 六、 创建特征类(建立空间表) 七、 编辑图层 八、 添加服务 九、 注册SDE数据库和...
ArcGIS_SDE 安装步骤详解 ...ArcGIS_SDE 安装步骤可能会遇到一些问题,但是通过解决这些问题,可以成功安装和配置 ArcSDE。 ArcGIS_SDE 是一种强大的地理信息系统,可以提供强大的空间数据管理和分析功能。
Oracle字段被SDE用户锁定的解决办法
数据库、ArcCatalog空间数据源正常访问,数据库设置没问题时,ArcEngine连接SDE时报"ORA-12560: TNS: 协议适配器错误"的解决办法;ArcEngine连接SDE总结;ArcSDE:C#打开SDE数据库的几种方式总结
教你如何利用Catalog远程连接sde数据库,希望对大家有帮助。
该SDE是一个matlab工具包,简单有效实现随机微分方程的求解及可视化,使用前可参考相关文档,网络共享,仅供参考。
ArcGIS SDE 10 许可,供大家学习之用 ,版权属于美国ESRI公司所有
arcgis SDE数据源直连 技术资料
Orcale sde技术框架介绍 ,有利于空间数据库学习
Oracle+sde数据备份、恢复 从数据库中删除SDE和SDE USER用户 DROP USER SDE CASCADE; DROP USER SDEUSER CASCADE;
爱可视80/101 G9如何安装官方的SDE菜单和root后的固件 提示:安装SDE固件被认为是放弃保修并且ARCHOS爱可视对由于SDE固件安装产生的任何问题不负有任何责任。 安装SDE菜单 前提条件:爱可视80/101G9必须为...
SDE空间SQL语句在Oracle环境中的使用方法说明。
ARCGIS SDE 10 破解文件 授权文件,ARCGIS SDE 10 破解文件 授权文件
微软工程师SDE标准, 严格执行必成大器。