Plsql ORA-29270:打开的HTTP请求太多
有人能帮我解决这个问题吗?这个问题发生在你运行触发器的时候,但在正常的过程中工作 触发:Plsql ORA-29270:打开的HTTP请求太多,plsql,oracle10g,Plsql,Oracle10g,有人能帮我解决这个问题吗?这个问题发生在你运行触发器的时候,但在正常的过程中工作 触发: create or replace procedure testeHTTP(search varchar2) IS Declare req sys.utl_http.req;<BR> resp sys.utl_http.resp;<BR> url varchar2(500); Begin url := 'http://www.google
create or replace
procedure testeHTTP(search varchar2)
IS
Declare
req sys.utl_http.req;<BR>
resp sys.utl_http.resp;<BR>
url varchar2(500);
Begin
url := 'http://www.google.com.br';
dbms_output.put_line('abrindo');
-- Abrindo a conexão e iniciando uma requisição
req := sys.utl_http.begin_request(search);
dbms_output.put_line('preparando');
-- Preparandose para obter as respostas
resp := sys.utl_http.get_response(req);
dbms_output.put_line('finalizando response');
-- Encerrando a comunicação request/response
sys.utl_http.end_response(resp);
Exception
When Others Then
dbms_output.put_line('excecao');
dbms_output.put_line(sys.utl_http.GET_DETAILED_SQLERRM());
End;
创建或替换
过程测试HTTP(搜索varchar2)
是
声明
req sys.utl_http.req
resp sys.utl_http.resp
url varchar2(500);
开始
网址:='http://www.google.com.br';
dbms_output.put_line('abrindo');
--我们需要一个国家
请求:=sys.utl\u http.begin\u请求(搜索);
dbms_output.put_行('preparando');
--制备对苯二甲酸乙二醇酯
resp:=sys.utl\u http.get\u响应(req);
dbms_output.put_行('finalizando response');
--Encerrando a comunicação请求/响应
系统utl_http.end_响应(resp);
例外情况
当其他人
dbms_output.put_行('excecao');
dbms_output.put_line(sys.utl_http.GET_DETAILED_SQLERRM());
结束;
处理完请求后,您需要关闭请求,这不会自动发生(除非您完全断开与数据库的连接)
它以前是
utl\u http.end\u response
,但我不确定它是否是同一个api。关闭用户会话,然后问题就解决了
内部有5个http请求的限制
问题可能在于缺少:utl\u http.end\u响应
或应用程序中的异常,而不是resp对象的关闭
修改代码如下:
EXCEPTION
WHEN UTL_HTTP.TOO_MANY_REQUESTS THEN
UTL_HTTP.END_RESPONSE(resp);
它在2016年仍然有用。有用的问题我在utl_http oracle文档引用后更改了实现,但错误一直存在。关闭我的用户会话才有效。