安装环境: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.\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.
\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"
)
)

)