如何修复在 oracle 过程中调用 API 时出现 "HTTP request failed" 的错误?
How to fix the error of "HTTP request failed" while calling an API in a oracle procedure?
我正在尝试从 oracle 中的过程调用 API,出于演示目的,我尝试调用网页但它给我错误:
*原因:UTL_HTTP包执行HTTP请求失败。
Set serveroutput on ;
DECLARE
req UTL_HTTP.REQ;
resp UTL_HTTP.RESP;
value VARCHAR2(1024);
BEGIN
req := UTL_HTTP.BEGIN_REQUEST('http://www.nyquest.com');
resp := UTL_HTTP.GET_RESPONSE(req);
LOOP
UTL_HTTP.READ_LINE(resp, value, TRUE);
dbms_output.put_line(value);
END LOOP;
UTL_HTTP.END_RESPONSE(resp);
EXCEPTION
WHEN UTL_HTTP.END_OF_BODY THEN
UTL_HTTP.END_RESPONSE(resp);
END;
请指导我修复此错误。
很可能您没有创建 ACL。
您的数据库在接受来自外部的连接之前需要它。
您可以在这里阅读:
Oracle Access Control List
我正在尝试从 oracle 中的过程调用 API,出于演示目的,我尝试调用网页但它给我错误: *原因:UTL_HTTP包执行HTTP请求失败。
Set serveroutput on ;
DECLARE
req UTL_HTTP.REQ;
resp UTL_HTTP.RESP;
value VARCHAR2(1024);
BEGIN
req := UTL_HTTP.BEGIN_REQUEST('http://www.nyquest.com');
resp := UTL_HTTP.GET_RESPONSE(req);
LOOP
UTL_HTTP.READ_LINE(resp, value, TRUE);
dbms_output.put_line(value);
END LOOP;
UTL_HTTP.END_RESPONSE(resp);
EXCEPTION
WHEN UTL_HTTP.END_OF_BODY THEN
UTL_HTTP.END_RESPONSE(resp);
END;
请指导我修复此错误。
很可能您没有创建 ACL。 您的数据库在接受来自外部的连接之前需要它。
您可以在这里阅读: Oracle Access Control List