`
json20080301
  • 浏览: 165750 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

如何解决sde extproc代理DLL路径无效

 
阅读更多
摘要:访问存储在oracle中的ST_Geometry类型数据的SQL函数通过扩展oracle的external procedure agent或者extproc来实现,因此,直接使用这些SQL函数需要配置oracle的listener,让oracle能够找到这些扩展库。如果使用SDE读取这些数据,则不需要配置。
访问存储在oracle中的ST_Geometry类型数据的SQL函数通过扩展oracle的external procedure agent或者extproc来实现,因此,直接使用这些SQL函数需要配置oracle的listener,让oracle能够找到这些扩展库。如果使用SDE读取这些数据,则不需要配置。
这些对ST_Geometry类型数据进行操作的函数是用PL/SQL实现的,在PL/SQL中其实是转调的使用c语言编写的外部扩展库(ST_SHAPELIB)。
关于oracle的listener的详细配置方法请参考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文件,重新启动监听程序。
barry
附录:
未修改前的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))
    )
  )
以下是在linux环境下的实际配置:



# listener.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER_RAC1 =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
      (PROGRAM = extproc) 
         (ENVS="EXTPROC_DLLS=/opt/arcsde/sdeexe93/lib/libst_shapelib.so,LD_LIBRARY_PATH=/opt/arcsde/sdeexe93/lib:/u01/app/oracle/product/10.2.0/db_1/lib")
    )
    (SID_DESC =
      (SID_NAME = yyk1)
      (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
      (GLOBAL_NAME = yyk)
    )
  )

LISTENER_RAC1 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip.*.org)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.*.*.101)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
  )

测试:
select * from user_libraries;

select sde.st_srid(shape) from BS_DIMAO_AR_20W ; 
select sde.st_astext(sde.ST_Geometry('POINT ( 102.16598313 36.02395352)', 0))  as aa  from dual ;

select * from st_spatial_references ;

select * from st_geometry_columns t ;

select sde.st_srid(shape) from BS_XINGZHENG_TEXT ; 

select sde.st_astext(sde.ST_Geometry('POINT ( 102.16598313 36.02395352)', 0))  as aa  from dual ;

分享到:
评论

相关推荐

    安装Oracle再安装SDE并创建之后报ST_Geometry错误的解决方法

    解决 ST_Geometry 错误的关键是确保 st_shapelib.dll 文件存在于正确的路径下,并且正确地编译 st_geometry_shapelib_pkg 和 st_geom_util 这两个文件。 三、结论 本文详细介绍了解决 Oracle 安装 SDE 报 ST_...

    Arc SDE连接数超限处理方式

    解决 Arc SDE 用户数超限的问题需要使用多种方法,包括自动回收 SDE 连接、增加 TCPKEEPALIVE 设置、清理孤进程、删除无效进程等。只有通过这些方法的综合应用,才能解决 SDE 连接数超限的问题,提高系统性能。

    解决OracleRAC集群下创建SDE时报Stored procedures错误问题.docx

    然而,当尝试创建SDE时,如果SDE用户的默认表空间被配置为本地路径而非集群的共享存储,就会导致"Stored procedures"错误。这是因为SDE需要在所有节点间共享表空间以确保数据的一致性和可用性。 **解决方法详述:**...

    Arcgis连接 postgresql sde 时遇到的问题以及解决办法

    本文将针对这些问题提供解决方案,并介绍相关的DLL文件及其作用。 首先,PostgreSQL是一个开源的关系型数据库管理系统,而SDE(Spatial Database Engine)是Esri提供的一个组件,用于在GIS(地理信息系统)中管理和...

    SDE API的调用源码

    文档的部分内容展示了在.NET环境中使用C#和VB.NET调用SDE C API的具体方法,包括使用DllImport属性引用sde.dll库中的函数、定义SE_ERROR结构体以及调用SE_connection_create和SE_connection_free函数的示例代码。...

    SDE.rar_ArcEngine sde_SDE_arcengine _连接SDE

    ArcEngine是一个强大的GIS开发平台,用于构建桌面、Web以及移动应用程序,它提供了丰富的API和工具,让开发者可以构建定制化的GIS解决方案。 首先,我们要理解SDE的作用。SDE作为Esri产品线的一部分,主要是为了...

    SDE.rar_SDE_sde-gcc

    5. **配置环境变量**:安装过程中或安装完成后,可能需要添加SDE的路径到系统环境变量`PATH`中,以便于命令行中调用SDE的相关工具。 6. **安装GCC**:因为SDE通常与GCC一起使用,安装过程中或单独下载GCC并安装,...

    oracle sde 用户过期问题解决

    ### Oracle SDE 用户过期问题解决方案 #### 一、问题背景及分析 在提供的场景中,用户尝试登录Oracle数据库时遇到了密码即将过期的问题。错误信息`ORA-28002: the password will expire within 7 days`明确地表明...

    ArcEngine+C#连接SDE空间数据库

    本文将深入探讨如何利用ArcEngine结合C#来连接并操作SDE(Spatial Database Engine)空间数据库。 首先,我们需要理解SDE的含义。SDE是Esri公司开发的一种用于存储、管理和分发地理空间数据的系统,它支持多种...

    sde连接数的问题

    - **无效连接累积**:当用户异常退出应用程序或者在网络连接不稳定的情况下强制断开连接时,SDE服务端未能正确清理这些连接,导致无效连接逐渐积累。 - **资源未释放**:部分系统或桌面软件(如ArcMap或ArcCatalog)...

    SDE空间SQL使用

    1. **复制st_shapelib.dll文件**:从ArcGIS SDE安装目录下的特定路径复制st_shapelib.dll文件到Oracle的BIN目录中。这个文件是ST_Geometry库的一部分,使得Oracle能够处理和解析空间数据。 2. **在PL/SQL Developer...

    Orcale sde技术框架介绍

    Oracle SDE不仅是一种空间数据存储解决方案,更是一种空间数据管理与分析的中间件技术。它并非直接存储空间数据,而是作为数据库的空间扩展,通过一系列Oracle对象来管理空间信息,这些对象统称为资料档案库...

    arcgis SDE数据源直连

    1. 数据版本管理:SDE支持多版本管理,允许用户同时编辑同一数据的不同版本,便于协同工作和冲突解决。 2. 数据同步:通过SDE的版本同步功能,可以将一个版本的数据更新到另一个版本,保持数据一致性。 3. 数据备份...

    Arcgis10.3创建SDE数据库、导入、导出手册

    SDE(Spatial Database Engine,空间数据库引擎)是ArcGIS中的一个核心组件,用于管理、存储和分发地理空间数据。本手册将详述如何在ArcGIS 10.3中创建SDE数据库、导入与导出数据,以及发布地图的步骤。 一、创建...

    SDE工具包-最新版

    **SDE工具包-最新版** 是一个专为MATLAB设计的工具包,主要用于解决随机微分方程(Stochastic Differential Equations, SDEs)的数值求解和相关数据分析。这个工具包提供了用户友好的界面和高效算法,使得研究人员和...

    JAVA调用GDAL库需要的dll文件

    其他如`NCSEcw.dll`用于处理ERDAS ECW格式的数据,`spatialite.dll`支持Spatialite数据库,`lti_dsdk_9.0.dll`可能涉及特定的硬件或数据采集设备驱动,`mapserver.dll`关联了MapServer地图服务,`xerces-c_2_8.dll`...

    字段被SDE用户锁定的解决办法.txt

    ### 字段被SDE用户锁定的解决办法 在Oracle数据库管理过程中,可能会遇到特定的字段被SDE(Spatial Data Explorer)用户锁定的情况。这种情况通常发生在使用Oracle Spatial与GIS技术进行地理空间数据管理时。当一个...

    sde 帮助文档 dev_help

    【SDE帮助文档Dev_Help】是一份详细阐述SDE(Spatial Database Engine)API的参考资料,旨在帮助开发者更好地理解和利用SDE进行...在实际开发过程中,结合SDE的帮助文档Dev_Help,可以更有效地解决问题,提高开发效率。

    ArcEngine连接SDE总结.docx

    本文将详细讨论如何解决在ArcEngine连接SDE时遇到的"ORA-12560: TNS:协议适配器错误"的问题,以及总结通过C#打开SDE数据库的不同方法。 首先,当出现"ORA-12560: TNS:协议适配器错误",通常意味着网络通信或Oracle...

    ArcGIS Sde 10许可

    最新版本(ArcGIS Sde 10 )破解许可,仅供学习交流使用。

Global site tag (gtag.js) - Google Analytics