Lui*_*cia 8 oracle stored-procedures
我正在尝试创建一个从服务请求一些XML数据的存储过程.我在网上找到了几个例子,所有这些例子都指向使用这个UTL_HTTP包.但是,每次我尝试使用它编译我的存储过程时,我都会收到错误:
PLS-00201: identifier 'UTL_HTTP' must be declared
Run Code Online (Sandbox Code Playgroud)
这是我想要使用的代码的基本框架.
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;
Run Code Online (Sandbox Code Playgroud)
它在指定的行中失败并且不编译.我正在使用Oracle Express Edition,我已经尝试授予我的用户对该包的执行权限.那没起效.我还能看到什么?还有什么可能导致这个?谢谢!
Sim*_* K. 12
正如您已经想到的那样,这似乎是一个许可问题.您的用户以某种方式无法访问UTL_HTTP包.确保您的用户对包具有EXECUTE权限:
GRANT EXECUTE ON SYS.UTL_HTTP TO my_user;
Run Code Online (Sandbox Code Playgroud)
请注意,您可能必须以SYS身份执行此操作.
使用SQL Developer(如果您正在进行PL/SQL开发,我可以推荐),看看您是否可以以某种方式查看包.如果这没有帮助,请发布您的用户当前拥有的权限.
归档时间: |
|
查看次数: |
40530 次 |
最近记录: |