本文于 53 天前发布,最后更新于 53 天前
一、问题背景
一次在执行SQL时调用DMGEO包方法时报错
二、问题解决
(1)确认系统包DMGEO是否创建
查看是否存在SYSGEO模式及下方的包。
(2)系统包已创建的情况下,尝试重建
SP_INIT_GEO_SYS(0);
SP_INIT_GEO_SYS(1);
此次案例,重建系统包时报警告:创建的对象带有编译错误。
系统包执行存在编译错误,想到有可能是配置了保留字参数导致,遂查询保留字参数。
SELECT * FROM V$PARAMETER WHERE NAME = ‘EXCLUDE_RESERVED_WORDS’;
怀疑是屏蔽了TYPE关键字导致的系统包创建存在编译问题。
所以,修改保留字参数,去掉TYPE
SP_SET_PARA_STRING_VALUE (2, 'EXCLUDE_RESERVED_WORDS', 'array,list');
重启数据库服务,待重启后,再次尝试重建DMGEO系统包,果然没有了编译报错,SQL也能够正常执行,问题解决。