Oracle11g 配置 ST_GEOMETRY

安装环境: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")
    )
  )
原文地址:https://www.cnblogs.com/guofeiji/p/5688930.html