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文档引用后更改了实现,但错误一直存在。关闭我的用户会话才有效。