st包无效

Posted on   云起  阅读(64)  评论(0编辑  收藏  举报  

本机正常安装了 oracle11g  和 ArcSDE10, 想要查询某个空间图层表的shape字段值,所以写了如下sql语句在PL/SQL里执行,select sde.st_astext(shape) from DLWG_SQ,

但是一直提示如下错误:

ORA-28595: Extproc 代理: DLL 路径无效

ORA-06512: 在 "SDE.ST_GEOMETRY_SHAPELIB_PKG", line 70

ORA-06512: 在 "SDE.ST_GEOMETRY_OPERATORS", line 68

百度了一番也没找到方法,后来还是通过 google 查找到了线索,通过调试一番终于解决,在此给大家说明一下解决的思路。


我本机的 oracle11g 安装目录为 E:/oracle11g。

1、打开 E:/oracle11g/product/11.2.0/dbhome_1/NETWORK/ADMIN 目录下的 listener.ora 文件,

发现之前写的是 :

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:/oracle11g/product/11.2.0/dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:E:/oracle11g/product/11.2.0/dbhome_1/bin/oraclr11.dll")
    )
  )


把它修改为:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:/oracle11g/product/11.2.0/dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ANY")
    )
  )

2、打开  E:/oracle11g/product/11.2.0/dbhome_1/hs/admin 目录下的 extproc.ora文件,

最后一行原来写的 是 SET EXTPROC_DLLS=  , 把他修改为 SET EXTPROC_DLLS=ANY


3、重启 OracleOraDb11g_home1TNSListener服务和  OracleServiceORCL服务。


4、重启 PL/SQL ,再次运行  select sde.st_astext(shape) from DLWG_SQ, 这次终于不再提示错误了,正常查询到结果。

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
历史上的今天:
2015-09-19 C# 内存操作

随笔 - 119, 文章 - 0, 评论 - 3, 阅读 - 4066

Copyright © 2025 云起
Powered by .NET 9.0 on Kubernetes

点击右上角即可分享
微信分享提示