加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle – 存储过程错误PLS-00201:必须声明标识符’UTL_HTTP’

发布时间:2020-12-12 13:09:15 所属栏目:百科 来源:网络整理
导读:我正在尝试创建一个从服务请求一些 XML数据的存储过程.我在网上找到了几个例子,所有这些例子都指向使用这个UTL_HTTP包.但是,每次我尝试编译我的存储过程时,我都会收到错误: PLS-00201: identifier 'UTL_HTTP' must be declared 这是我想要使用的代码的基本
我正在尝试创建一个从服务请求一些 XML数据的存储过程.我在网上找到了几个例子,所有这些例子都指向使用这个UTL_HTTP包.但是,每次我尝试编译我的存储过程时,我都会收到错误:
PLS-00201: identifier 'UTL_HTTP' must be declared

这是我想要使用的代码的基本框架.

PROCEDURE GET_XML_DATA2 AS

BEGIN
   DECLARE
   v_soap_request    VARCHAR2(32767);
   v_soap_response   VARCHAR2(32767);

   v_http_request    UTL_HTTP.req; --Fails here
   v_http_response   UTL_HTTP.resp; -- Fails here too
   v_action          VARCHAR2(4000) := '';

BEGIN

    null;

END;

END GET_XML_DATA2;

它在指定的行中失败并且不编译.我正在使用Oracle Express Edition,我已经尝试授予我的用户对该软件包的执行权限.那没起效.
我还能看到什么?还有什么可能导致这个?
谢谢!

正如您已经想到的那样,这似乎是一个许可问题.您的用户以某种方式无法访问UTL_HTTP包.确保您的用户对包具有EXECUTE权限:
GRANT EXECUTE ON SYS.UTL_HTTP TO my_user;

请注意,您可能必须以SYS身份执行此操作.

使用SQL Developer(如果您正在进行PL / SQL开发,我可以推荐),看看您是否可以以某种方式查看包.如果这没有帮助,请发布您的用户当前拥有的权限.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读