Ir para conteúdo

Erika Fragoso

Members
  • Total de itens

    1
  • Registro em

  • Última visita

Reputação

0 Comum

Sobre Erika Fragoso

  1. Erika Fragoso

    Conexão não encerra com UTL_SMTP.QUIT

    Boa tarde Estou com problema para fechar a a conexão do UTL_SMTP. Quando executo a procedure mais de uma vez, apresenta erro: "too many open connections". Exemplo: Se executo esse bloco inteiro ele apresenta o erro a seguir: EXEC ATUALIZACAO(382002, 73, 356.000, 371.900); EXEC ATUALIZACAO(382003, 73, 373.600, 386.900); EXEC ATUALIZACAO(382004, 73, 389.600, 399.400); EXEC ATUALIZACAO(382005, 73, 117.500, 128.200); EXEC ATUALIZACAO(382006, 73, 130.900, 138.800); EXEC ATUALIZACAO(382007, 73, 146.600, 157.000); ------------ERRO--------------- 0678. 00000 - "too many open connections" *Cause: An attempt to open a connection failed because too many are already open by this session. The number of allowed connections varies as some may be in use through other components which share the same pool of allowed connections. *Action: Retry after closing some other connection. The number of connections supported is currently not adjustable. Agora se executo um por um não da erro. A impressão que tenho é que não esta fechando a conexão do UTL_SMTP. Ja tentei utilizar o UTL_SMTP.QUIT e o UTL_SMTP.CLOSE_CONNECTION dentro e fora do loop , mas não funcionou. Alguém tem alguma dica do que pode ser feito ? Segue a procedure : --Enviar o E-Mail IF bEnviaMail then --(StrDscMsg is not NULL) THEN StrCabMail := 'VERSAO : '||p_Versao ||' DIV: '||p_Division ||crlf||crlf|| 'ID Anti Novo ID KM Ini KM Fim Lin Vel Tipo H_Ini H_Fim Motivo '; StrDscMsg := StrCabMail ||crlf|| StrDscMsg; connmail := UTL_SMTP.OPEN_CONNECTION('smtp',25); FOR RegEmail IN( SELECT MR_MAIL FROM MAIL_REFRESH WHERE MR_GRUPO = 1 ) LOOP BEGIN ----connmail := UTL_SMTP.OPEN_CONNECTION('smtp',25); StrMailMsg := 'Date: ' ||TO_CHAR( SYSDATE,'dd Mon yyyy hh24:mi:ss') ||crlf|| 'From: <' ||'restricao@gmail.com'||'>' ||crlf|| 'Subject: '||'REFRESH VERSAO ' || p_Versao || TO_CHAR( SYSDATE,' dd/mm/yyyy hh24:mi:ss') ||crlf|| 'To: ' || ToEmail ||crlf|| ' Atualizações que foram retiradas e recolocadas na base ' ||crlf|| '' ||crlf|| 'Banco: ' || db_name || ' - ' || schema_name ||crlf|| '' ||crlf|| StrDscMsg ||crlf|| '' ||crlf|| '' ||crlf|| '[ATUALIZACAO]'; UTL_SMTP.HELO(connmail,'smtp'); UTL_SMTP.MAIL(connmail,'restricao@gmail.com'); UTL_SMTP.RCPT(connmail, RegEmail.MR_MAIL); UTL_SMTP.DATA(connmail,StrMailMsg); -- UTL_SMTP.QUIT(connmail); END; End Loop; UTL_SMTP.QUIT(connmail); End If; COMMIT; END;
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.