Oracle11g 配置 ST_GEOMETRY
安装环境:ArcGIS Desktop10.2.1 、ArcSDE10.2.134940、 Oracle11.2.0.1
操作系统:Windows Server 2012R2 DataCenter
安装ARCSDE,st_shapelib.dll存在于目录C:\Program Files\ArcGIS\ArcSDE\ora11gexe\bin,配置需要使用该目录。
使用Desktop直连创建了SDE Schema,并创建了相关表和存储程序。
以SDE用户登录数据库,此后的操作以sde用户的身份运行
执行:
select * from user_libraries
结果显示的st_shapelib.dll位置与实际路径不一致,所以需要执行以下语句重新指定路径,这个路径就是上面安装ARCSDE产生的。
SQL> create or replace library ST_SHAPELIB as 'C:\Progra~1\ArcGIS\ArcSDE\ora11gexe\bin\st_shapelib.dll';
SQL> alter package sde.st_geometry_shapelib_pkg compile reuse settings;
注意:安装ARCGIS Desktop也安装st_shapelib.dll,路径为:C:\Program Files (x86)\ArcGIS\Desktop10.2\DatabaseSupport\Oracle\Windows64,但是缺少相关文件pe.dll,sg.dll。
tnsnames.ora文件添加:
EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )
listener.ora文件添加(黑体部分):
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = E:\app\SerOS\product\11.2.0\dbhome_1) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:E:\app\SerOS\product\11.2.0\dbhome_1\bin\oraclr11.dll") ) (SID_DESC = (GLOBAL_DBNAME = orcl) (SID_NAME = ORCL) ) (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = E:\app\SerOS\product\11.2.0\dbhome_1) (PROGRAM = EXTPROC) (ENVS = "EXTPROC_DLLS=C:\Progra~1\ArcGIS\ArcSDE\ora11gexe\bin\st_shapelib.dll,PATH=C:\Progra~1\ArcGIS\ArcSDE\ora11gexe\bin") ) )