【发布时间】:2017-01-23 13:33:46
【问题描述】:
Oracle Database 12c 企业版 12.1.0.2.0 - 64 位生产
我正在创建一个 Oracle 作业,我需要每 30 分钟执行一次程序,
在程序内部,我想点击一个 HTTP URL,以便在后面执行一个 java 程序。
方法:
declare
req UTL_HTTP.REQ;
BEGIN
req := UTL_HTTP.BEGIN_REQUEST('http://dev.xxx.com/yyy/zzz/aaa/triggerJob');
dbms_output.put_line('hitting');
EXCEPTION
WHEN UTL_HTTP.END_OF_BODY THEN
dbms_output.put_line('exception');
END;
DBMS OUTPUT 命中
-- 但实际上并没有击中!
方法 2
declare
req UTL_HTTP.REQ;
resp UTL_HTTP.RESP;
BEGIN
req := UTL_HTTP.BEGIN_REQUEST('http://dev.xxx.com/yyy/zzz/aaa/triggerJob');
UTL_HTTP.SET_HEADER(req, 'User-Agent', 'Mozilla/4.0');
resp := UTL_HTTP.GET_RESPONSE(req);
UTL_HTTP.END_RESPONSE(resp);
dbms_output.put_line('hitting');
EXCEPTION
WHEN UTL_HTTP.END_OF_BODY THEN
dbms_output.put_line('exception');
END;
有了这个,我在执行时遇到了错误。
【问题讨论】:
-
您使用的是哪个版本的 Oracle?您是否授予了相关的访问权限?
-
@APC Oracle Database 12c 企业版,是的,我拥有所有权限。读/写/更新/插入和 ACL 也是如此。
-
大概你已经测试了通过一些普通的网络服务机制,SOAPUI 向 URL 发送一个 GET 请求?
-
@APC 我在浏览器“dev.xxx.com/yyy/zzz/aaa/triggerJob”中点击 URL,它绝对可以正常工作。
-
@APC 任何线索。