O nome da exceção é auto-explicativa. Ele está recusando conexões e não simplesmente pelo fato de não achar o handler, mas pode estar tendo problemas com muitas conexões abertas ao mesmo tempo.
Se está intermitente, então é provável que esteja abrindo muitas conexões ao mesmo tempo e não liberando-as, fazendo com que o banco sobrecarregue e deixe de aceitar novas conexões.
Estás abrindo muitas conexões simultâneas, mesmo que fechando ao final do uso de todas. Na documentação não fala nada de limitação desse tipo, mas 20/30 conexões simultâneas já são o suficiente para deixar um banco caseiro maluquinho.
Estás com falta de hardware. Pode ser que quando estejas executando a conexão, o uso do CPU e de memória esteja no limite, fazendo com que o servidor “deixe de responder” novas solicitações até poder processá-las direito.
Verifique se em algum dos dois casos você se enquadra.
[quote=nbluis]O Banco em sí não tem limite de conexões.
Mas o o XE vem com configurado com o limite de 30, podendo ser alterada a qualquer momento.[/quote]
O Connection.close() realmente fecha conexões, mas se tiveres muitas conexões simultâneas ( ao mesmo tempo ) vai ter problemas.
O Connection Pool gerencia as conexões por você, devolvendo uma aberta, abrindo uma nova e fechando quando necessário.
pelo q entendi seria p/ modificar o metodo de conexao com o banco, mas
fiz da seguinte maneira e nao deu certo, poderia dizer o q ainda esta errado…
a parte comentada representa a maneira como estava.