oracle utl_http

本文介绍如何使用Oracle的dbms_network_acl_admin包创建网络访问控制列表(ACL),并详细展示了添加权限、分配ACL的过程。此外,还提供了一个使用PL/SQL触发器发起HTTP请求的具体实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BEGIN
    dbms_network_acl_admin.create_acl(acl         => 'httprequestpermission.xml',
                                      DESCRIPTION => 'Normal Access',
                                      principal   => 'CONNECT',
                                      is_grant    => TRUE,
                                      PRIVILEGE   => 'connect',
                                      start_date  => NULL,
                                      end_date    => NULL);
END;


SELECT any_path
FROM resource_view
WHERE any_path like '/sys/acls/%.xml';


begin
    dbms_network_acl_admin.add_privilege(acl        => 'httprequestpermission.xml',
                                         principal  => 'test',
                                         is_grant   => TRUE,
                                         privilege  => 'connect',
                                         start_date => null,
                                         end_date   => null);
end;


begin
    dbms_network_acl_admin.assign_acl(acl        => 'httprequestpermission.xml',
                                      host       => '192.168.3.5',
                                      lower_port => 8080,
                                      upper_port => NULL);
                                      end;
                                      
                                       SELECT * FROM dba_network_acls;
  
create or replace trigger test_http
  after insert on tb_test_tr
  for each row
declare
  req         utl_http.req;
  resp        utl_http.resp;
  v_text      varchar2(500);
  v_resp_text varchar2(500);
begin


  v_text := 'sadf';
  req    := utl_http.begin_request('http://192.168.3.5:8080/upload/upload?p=' || v_text);
  resp   := utl_http.get_response(req);


  utl_http.read_line(resp, v_resp_text, true);
  dbms_output.put_line(v_resp_text);


  utl_http.end_response(resp);


end test_http;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值