如何从PL / SQL过程中获取http URL?

时间:2017-01-23 13:33:47

标签: oracle plsql

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;

有了这个,我在执行时遇到了错误。

enter image description here

1 个答案:

答案 0 :(得分:0)

考虑添加(function () { 'use strict'; myModule.controller('infoCollecteArticlesController', ['$scope', '$rootScope', '$location', '$sessionStorage', 'global_factory', 'infoCollecteArticlesFactory', function ($scope, $rootScope, $location, $sessionStorage, global_factory, infoCollecteArticlesFactory) { var vm = this; /* * PUBLIC FUNCTIONS */ // Delete a URL from the vm vm.deleteUrl = function(index) { vm.web_urls.splice(index, 1); } // Watch sessionStorage $scope.$watch(function () { return $sessionStorage.currentCommuneData; }, function (newVal, oldVal) { if (newVal) { vm.web_urls = newVal.web_information.web_urls; vm.filters = newVal.web_information.stop_list; } else { window.location.replace("test.html"); } }, true); } ]); })(); 来实际执行请求;否则它只准备;);另一个好的做法是设置http标头......

get_response

更多Oracle documentation