Энэ энгийн жишээ ажилахгүй юм янз янзаар л үзлээ. Response нь хамаагүй зүгээр нэг ssl-гүй линк ажиллуулаал болох Task байгаа юм.
SELECT utl_http.request(‘http://www.oracle.com/ ’) FROM dual;
ORA-29273: HTTP request failed
ORA-06512: at “SYS.UTL_HTTP”, line 1722
ORA-12545: Connect failed because target host or object does not exist
ORA-06512: at line 1
29273. 00000 - “HTTP request failed”
*Cause: The UTL_HTTP package failed to execute the HTTP request.
*Action: Use get_detailed_sqlerrm to check the detailed error message.
Fix the error and retry the HTTP request.
begin
dbms_network_acl_admin.create_acl (
acl => 'utl_http.xml',
description => 'HTTP Access',
principal => 'myuser',
is_grant => TRUE,
privilege => 'connect',
start_date => null,
end_date => null
);
commit;
dbms_network_acl_admin.add_privilege (
acl => 'utl_http.xml',
principal => 'myuser',
is_grant => TRUE,
privilege => 'resolve',
start_date => null,
end_date => null
);
commit;
dbms_network_acl_admin.assign_acl (
acl => 'utl_http.xml',
host => '199.101.28.18',
lower_port => null,
upper_port => null
);
commit;
end;
иймэрхүү байдлаар тохируулсан
batmunkh
(Batmunkh Moltov)
May 16, 2018, 4:26am
3
1 Like
Болчихлоо
grant execute on utl_http to MYUSER;
begin
dbms_network_acl_admin.create_acl (
acl => 'utl_http.xml',
description => 'HTTP Access',
principal => 'MYUSER',
is_grant => TRUE,
privilege => 'connect',
start_date => null,
end_date => null
);
commit;
dbms_network_acl_admin.add_privilege (
acl => 'utl_http.xml',
principal => 'MYUSER',
is_grant => TRUE,
privilege => 'resolve',
start_date => null,
end_date => null
);
commit;
dbms_network_acl_admin.assign_acl (
acl => 'utl_http.xml',
host => '111.111.111.111',
lower_port => 80,
upper_port => 80
);
commit;
end;
SET DEFINE OFF
select utl_http.request('http://111.111.111.111/api.php?id=1&par1=111') from dual;
гэж SQL дээрээсээ дуудаж ажилуулах юм байна. SET DEFINE OFF нь escape ampersand oracle sql хийгээд явуулж байна
3 Likes