ORA-29270: слишком много открытых HTTP-запросов - PullRequest
9 голосов
/ 06 августа 2009

Может ли кто-нибудь помочь мне с этой проблемой, которая возникает всякий раз, когда вы запускаете TRIGGER, но работает в обычной ПРОЦЕДУРЕ?

ПУСК:

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;

Ответы [ 2 ]

15 голосов
/ 20 апреля 2011

закройте сеанс пользователя, и тогда проблема будет устранена.

Внутренний лимит составляет 5 запросов http.

Возможно, проблема в отсутствии: utl_http.end_response

или исключение в приложении, а не закрытие от соответствующего объекта.

изменить код так:

EXCEPTION
  WHEN UTL_HTTP.TOO_MANY_REQUESTS THEN
  UTL_HTTP.END_RESPONSE(resp); 
4 голосов
/ 06 августа 2009

вам нужно закрыть ваши запросы, как только вы закончите с ними, это не произойдет автоматически (если вы полностью не отключите БД)

Раньше это было utl_http.end_response, но я не уверен, что это уже тот же API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...