【SDE】ArcGIS SDE空间数据 st_geometry 执行函数遇到 ORA-06520 加载外部库时出错,ORA-06522 Unable to load DLL

适用 Windows 版本 Oracle,Linux 参照排除

前置条件

  1. 完成安装Oracle
  2. 使用ArcGIS工具“创建企业级地理数据库”完成sde的创建
  3. 完成“配置extproc 以访问 ST_Geometry”

问题详情

登陆sde用户,执行st_geometry函数出现

ORA-06520: PL/SQL:加载外部库时出错
ORA-06522:Unable to load DLL
ORA-06512:在 “SDE.ST_GEOMETRY_SHAPELIB_PKG”,line 12
ORA-06512:在 “SDE.ST_GEOMETRY”, line 55

image

解决思路

extproc 未正确配置

  1. 检查 <Oracle安装目录>\product\12.1.0\dbhome_1\NETWORK\ADMIN\listener.ora 文件
    如有ENVS配置项目,需要更改为(ENVS = "EXTPROC_DLLS=ANY")
  2. 检查 <Oracle安装目录>\product\12.1.0\dbhome_1\hs\admin\extproc.ora 文件, 文件末尾更改为 SET EXTPROC_DLLS=ANY

vc++ 环境未正确安装

网上绝大部分解决方案仅检查extproc,如已正确配置,问题仍然未解决,需检查Oracle环境

  1. st_geometry函数的执行需要vc++环境
  2. Oracle版本需要与vc++版本对应
    1. 64bit的Oracle安装x64的vc++
    2. 32bit的Oracle安装x86的vc++
  3. 具体st_geometry与对应vc++ 参照ArcGIS官方说明
  4. windows环境一般选用 ms vc++ 2015-2022 即可,下载地址 https://docs.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist?view=msvc-170

posted on 2022-05-09 10:13  wongJzzz  阅读(869)  评论(0编辑  收藏  举报

导航