安裝環境: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") ) )