UTL-HTTP IN ORACLE

  If you need to use utl_http, utl_mail and utl_stmp on oracle, maybe you should do is drop acl list(access control list) following the below code at first.
Secondly, you need to add your account into acl and grant privilege to your account. then, you can use them in normal. Please execute the following code on oracle. Follow the steps to do it.

Step 1: drop acl list

begin  
 dbms_network_acl_admin.drop_acl(
    'utl_mail.xml'
   );

  dbms_network_acl_admin.drop_acl(
    'utl_http.xml'
  );

 dbms_network_acl_admin.drop_acl(
     'utl_smtp.xml'
  );
end;
/


Step 2: create acl list and grant privilege to user you wish

--@/u01/app/oracle/product/11.2.0/xe/rdbms/admin/utlmail.sql;
--@/u01/app/oracle/product/11.2.0/xe/rdbms/admin/prvtmail.plb


BEGIN
 
  -- dbms_network_acl_admin.create_acl (
  --   acl         => 'utl_mail.xml',
  --   description => 'Allow mail to be send',
  --   principal   => 'JULIA',
  --   is_grant    => TRUE,
  --   privilege   => 'connect'
  --   );

  -- dbms_network_acl_admin.add_privilege (
  -- acl       => 'utl_mail.xml',
  -- principal => 'JULIA',
  -- is_grant  => TRUE,
  -- privilege => 'resolve'
  -- );

  -- dbms_network_acl_admin.assign_acl(
  -- acl  => 'utl_mail.xml',
  -- host => '127.0.0.1'
  -- );

  dbms_network_acl_admin.create_acl (
    acl         => 'utl_http.xml',
    description => 'HTTP Access',
    principal   => 'GDB',
    is_grant    => TRUE,
    privilege   => 'connect',
    start_date  => null,
    end_date    => null
  );
  dbms_network_acl_admin.add_privilege (
    acl        => 'utl_http.xml',
    principal  => 'GDB',
    is_grant   => TRUE,
    privilege  => 'resolve',
    start_date => null,
    end_date   => null
  );
  dbms_network_acl_admin.assign_acl (
    acl        => 'utl_http.xml',
    host       => 'www.baidu.com',
    lower_port => 80,
    upper_port => 80
  );

-- dbms_network_acl_admin.create_acl (
--     acl         => 'utl_smtp.xml',
--     description => 'Allow mail to be send',
--     principal   => 'JULIA',
--     is_grant    => TRUE,
--     privilege   => 'connect'
--     );

--   dbms_network_acl_admin.add_privilege (
--   acl       => 'utl_smtp.xml',
--   principal => 'JULIA',
--   is_grant  => TRUE,
--   privilege => 'resolve'
--   );

--   dbms_network_acl_admin.assign_acl(
--   acl  => 'utl_smtp.xml',
--   host => '127.0.0.1'
--   );

END;
/

To Be Continued……

原文地址:https://www.cnblogs.com/Jeffrey-xu/p/4961869.html