对于试图使用SOAP服务的函数,我正在尝试调试PL/SQL上的"HTTP请求失败“错误。建议使用get_detailed_sqlerrm获取错误消息的详细信息,但当我试图运行建议的查询时,它会引发“无效的SQL语句”错误。
我的问题是:
UTL_HTTP.get_detailed_sqlerrm
RETURN VARCHAR2;我正在使用PL/SQL开发人员IDE,数据库是Oracle 11g。
发布于 2018-06-19 05:55:16
你也许该跑
select utl_http.get_detailed_sqlerrm from dual;只是要小心--它不是一个通用函数,只适用于UTL_HTTP错误。例如,它不适用于SQL错误:
SQL> select deptno, min(sal) from emp;
select deptno, min(sal) from emp
*
ERROR at line 1:
ORA-00937: not a single-group group function
SQL> select utl_http.get_detailed_sqlerrm from dual;
GET_DETAILED_SQLERRM
--------------------------------------------------------------------------------..。也不适用于PL/SQL错误:
SQL> begin
2 select empno from emp;
3 end;
4 /
select empno from emp;
*
ERROR at line 2:
ORA-06550: line 2, column 3:
PLS-00428: an INTO clause is expected in this SELECT statement
SQL> select utl_http.get_detailed_sqlerrm from dual;
GET_DETAILED_SQLERRM
--------------------------------------------------------------------------------
SQL>..。但是,对于与UTL_HTTP相关的错误,则可以:
SQL> declare
2 l_request utl_http.req;
3 begin
4 l_request := utl_http.begin_request('http://www.some_company.com');
5 end;
6 /
declare
*
ERROR at line 1:
ORA-29273: HTTP request failed
ORA-06512: at "SYS.UTL_HTTP", line 1130
ORA-24247: network access denied by access control list (ACL)
ORA-06512: at line 4
SQL> select utl_http.get_detailed_sqlerrm from dual;
GET_DETAILED_SQLERRM
--------------------------------------------------------------------------------
ORA-24247: network access denied by access control list (ACL)
SQL>https://stackoverflow.com/questions/50918172
复制相似问题