La seule raison de la mise en commun est la performance, donc si votre travail nocturne s'exécute dans sa fenêtre, il n'y a rien de mal à ce que vous faites, d'autant plus que cela simplifie votre implémentation en n'ayant pas à vous soucier des connexions mortes.
Cela dit, je ne ferais pas de cette pratique courante. J'écris rarement du code pour gérer les connexions obsolètes et même dans ce cas, c'est une simple usine. La question commence par pourquoi avez-vous des connexions obsolètes ? En règle générale, cela concerne soit un pare-feu, soit une tâche DBA mettant fin aux connexions inactives, qui doivent toutes deux être modifiées ou assouplies pour un compte d'application. Même dans ce cas, vous pouvez faire ce qui suit :
- Spécifiez Min Pool Size=0 dans votre chaîne de connexion. Cela permet à ODP.net de nettoyer même la dernière connexion de votre application, permettant à votre application de se déconnecter complètement lorsqu'elle est inactive pendant une période suffisamment longue.
- Spécifiez une taille de pool Decr plus élevée dans votre chaîne de connexion. Cela permettra à plus de connexions inactives d'être fermées toutes les 3 minutes par ODP.net.
- Vous pouvez essayer de définir Validate Connection =true - Je suppose qu'il y a moins de temps système pour valider la connexion qu'il n'y en a pour en ouvrir une.
Plus d'informations peuvent être trouvées ici :http:// docs.oracle.com/cd/E15296_01/doc.111/e15167/featConnecting.htm#i1006228