安装环境:ArcGIS Desktop10.2.1 、ArcSDE10.2.134940、 Oracle11.2.0.1
操作系统:Windows Server 2012R2 DataCenter
安装ARCSDE,st_shapelib.dll存在于目录C:Program FilesArcGISArcSDEora11gexein,配置需要使用该目录。
使用Desktop直连创建了SDE Schema,并创建了相关表和存储程序。
以SDE用户登录数据库,此后的操作以sde用户的身份运行
执行:
select * from user_libraries
结果显示的st_shapelib.dll位置与实际路径不一致,所以需要执行以下语句重新指定路径,这个路径就是上面安装ARCSDE产生的。
SQL> create or replace library ST_SHAPELIB as 'C:Progra~1ArcGISArcSDEora11gexeinst_shapelib.dll';
SQL> alter package sde.st_geometry_shapelib_pkg compile reuse settings;
注意:安装ARCGIS Desktop也安装st_shapelib.dll,路径为:C:Program Files (x86)ArcGISDesktop10.2DatabaseSupportOracleWindows64,但是缺少相关文件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:appSerOSproduct11.2.0dbhome_1) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:E:appSerOSproduct11.2.0dbhome_1inoraclr11.dll") ) (SID_DESC = (GLOBAL_DBNAME = orcl) (SID_NAME = ORCL) ) (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = E:appSerOSproduct11.2.0dbhome_1) (PROGRAM = EXTPROC) (ENVS = "EXTPROC_DLLS=C:Progra~1ArcGISArcSDEora11gexeinst_shapelib.dll,PATH=C:Progra~1ArcGISArcSDEora11gexein") ) )