ORA-29270:太多打开的HTTP请求

9 plsql oracle10g

有人可以帮助我,因为这个问题发生在你运行TRIGGER的整个过程中,但是在正常的PROCEDDURE中运行

触发:

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;
Run Code Online (Sandbox Code Playgroud)

小智 15

关闭您的用户会话,然后问题得到解决.

内部有5个http请求的限制.

可能缺少一个问题: utl_http.end_response

或应用程序中的异常,而不是resp对象的关闭.

像这样修改代码:

EXCEPTION
  WHEN UTL_HTTP.TOO_MANY_REQUESTS THEN
  UTL_HTTP.END_RESPONSE(resp); 
Run Code Online (Sandbox Code Playgroud)


nor*_*ole 4

完成请求后,您需要关闭请求,这不会自动发生(除非您完全断开与数据库的连接)

以前是这样utl_http.end_response,但我不确定它是否是同一个api了。