# Utl\_http яаж ашиглах вэ?

**URL:** <https://www.batmunkh.net/t/utl-http/662>\
**Category:** Oracle Database\
**Created:** [May 16, 2018, 1:46am UTC](https://www.batmunkh.net/t/utl-http/662 "2018-05-16T01:46:49Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Enkhee\_Enkh](https://www.batmunkh.net/letter_avatar_proxy/v4/letter/e/b9e5f3/32.png) [@Enkhee\_Enkh](https://www.batmunkh.net/u/Enkhee_Enkh)\
**Post date:** [May 16, 2018, 1:46am UTC](https://www.batmunkh.net/t/utl-http/662/1 "2018-05-16T01:46:49Z")

</div>

Энэ энгийн жишээ ажилахгүй юм янз янзаар л үзлээ. Response нь хамаагүй зүгээр нэг ssl-гүй линк ажиллуулаал болох Task байгаа юм.

SELECT utl\_http.request(‘[http://www.oracle.com/](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.

---

<div class="post-metadata">

**Author:** ![Enkhee\_Enkh](https://www.batmunkh.net/letter_avatar_proxy/v4/letter/e/b9e5f3/32.png) [@Enkhee\_Enkh](https://www.batmunkh.net/u/Enkhee_Enkh)\
**Post date:** [May 16, 2018, 2:15am UTC](https://www.batmunkh.net/t/utl-http/662/2 "2018-05-16T02:15:48Z")

</div>

```
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; 

```

иймэрхүү байдлаар тохируулсан

---

<div class="post-metadata">

**Author:** ![batmunkh](https://www.batmunkh.net/user_avatar/www.batmunkh.net/batmunkh/32/297_2.png) [@batmunkh](https://www.batmunkh.net/u/batmunkh)\
**Post date:** [May 16, 2018, 4:26am UTC](https://www.batmunkh.net/t/utl-http/662/3 "2018-05-16T04:26:33Z")

</div>

Юуны өмнө firewall нтэрээ шалгаарай.  
Мөн [https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11\_QUESTION\_ID:9526497800346930725](https://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:9526497800346930725) -ийг нэг харчих.

---

<div class="post-metadata">

**Author:** ![Enkhee\_Enkh](https://www.batmunkh.net/letter_avatar_proxy/v4/letter/e/b9e5f3/32.png) [@Enkhee\_Enkh](https://www.batmunkh.net/u/Enkhee_Enkh)\
**Post date:** [May 16, 2018, 4:36am UTC](https://www.batmunkh.net/t/utl-http/662/4 "2018-05-16T04:36:29Z")

</div>

Болчихлоо

1. 

```
grant execute on utl_http to MYUSER;

```

1. 

```
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; 

```

1. 

```
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 хийгээд явуулж байна
