Connexion & persistance

Signaler
Messages postés
7
Date d'inscription
jeudi 24 mars 2005
Statut
Membre
Dernière intervention
29 juillet 2005
-
Messages postés
433
Date d'inscription
samedi 26 avril 2003
Statut
Membre
Dernière intervention
4 décembre 2009
-
Bonjour,

Imaginons que je crée une classe # dont le constructeur demande une connexion ouverte à la base de données.

Est-ce que la connection reste ouvert et uniquement dispo pour mon objet tant qu'il est en vie ou est-ce qu'elle retourne toute seule au pool ?

Que préconisez-vous pour gérer la connexion ?

Merci de votre aide,

Rastapaye

2 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
34
ton cas, j'utiliserai un Singleton qui contiendrait la connection à ta base de données.

Mais je trouve plus "normal" d'ouvrir et de refermer les connexions à la demande.

Séb

Sébastien FERRAND

Blog :
http://blogs.developpeur.org/sebmafate</FO< body>
Messages postés
433
Date d'inscription
samedi 26 avril 2003
Statut
Membre
Dernière intervention
4 décembre 2009
1
je suis d'accord , surtout que si tu ne ferme pas explicitement ta connexion dan ton destructeur et / ou que celui ci n'est jamais finalisé , la connexion va rester ouverte.

Pour gérer tes connexions, soit tu le fais a la mano cad :

je veux une donnée:
1/ j'ouvre une connection
2/ je prend ma donnée
3/ je ferme ma connection

ca donne
try
{
connexion.open()
...traitement...
}
catch
{
...traitement...
}
finally
{
connexion.close()
}

ne pas oublier de fermer ta connexion dans la finally car si tu as une exception elle va rester ouverte.

Sinon si tu accede a des données SQL serveur ou meme oracle, tu peux regarder du coté des application blocks de microsoft qui sotn des DB managers tres puissants et tres simplifiés.

plsu d'infos sur :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/daab.asp