『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

为使用ST_Geometry SQL函数配置oracle的网络服务

为使用ST_Geometry SQL函数配置oracle的网络服务
访问存储在oracle中的ST_Geometry类型数据的SQL函数通过扩展oracle的external procedure agent或者extproc来实现,因此,直接使用这些SQL函数需要配置oracle的listener,让oracle能够找到这些扩展库。如果使用SDE读取这些数据,则不需要配置。

       访问存储在oracle中的ST_Geometry类型数据的SQL函数通过扩展oracleexternal procedure agent或者extproc来实现,因此,直接使用这些SQL函数需要配置oraclelistener,让oracle能够找到这些扩展库。如果使用SDE读取这些数据,则不需要配置。

       这些对ST_Geometry类型数据进行操作的函数是用PL/SQL实现的,在PL/SQL中其实是转调的使用c语言编写的外部扩展库(ST_SHAPELIB)。

       关于oraclelistener的详细配置方法请参考oracle的相关文档,下面主要介绍一下默认情况下如何配置(windows下面)。

       1 找到oracle数据库的安装目录(服务器端),然后定位到oraclehome\NETWORK\ADMIN目录

       2 备份listener.ora文件,这点很重要,在对oracle的配置做任何更改的时候都要进行备份

       3 打开listener.ora文件,找到 (PROGRAM = extproc) 这一行,在这行下面添加对ST_SHAPELIB的引用,即指定ST_SHAPELIB的地址,如下:

       (ENVS="EXTPROC_DLLS=C:\Program Files\ArcGIS\ArcSDE\ora10gexe\bin\st_shapelib.dll")

       其中“C:\Program Files\ArcGIS\ArcSDE\ora10gexe\bin\st_shapelib.dll”为ST_SHAPELIB的物理路径,可以根据安装情况自己修改。

       4 保存listener.ora文件,重新启动监听程序。

       附录:

       未修改前的listener.ora

# listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1

\network\admin\listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)

      (PROGRAM = extproc)

    )

  )

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

      (ADDRESS = (PROTOCOL = TCP)(HOST = zbc)(PORT = 1521))

    )

  )

       修改后的listener.ora

# listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1

\network\admin\listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)

      (PROGRAM = extproc)

(ENVS="EXTPROC_DLLS=C:\Program Files\ArcGIS\ArcSDE\ora10gexe\bin\st_shapelib.dll")

    )

  )

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

      (ADDRESS = (PROTOCOL = TCP)(HOST = zbc)(PORT = 1521))

    )

  )

      京ICP备2025132830号-1 京公网安备 号