gpt4 book ai didi

oracle - 存储过程错误 PLS-00201 : identifier 'UTL_HTTP' must be declared

转载 作者:行者123 更新时间:2023-12-04 06:18:38 27 4
gpt4 key购买 nike

我正在尝试创建一个从服务请求一些 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 开发,我可以推荐它),看看您是否可以以某种方式查看包。如果这没有帮助,请发布您的用户当前拥有的权限。

关于oracle - 存储过程错误 PLS-00201 : identifier 'UTL_HTTP' must be declared,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26369834/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com