Tester la connexion à base de données [Résolu]

Signaler
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
-
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
-
Bonjour à tous,

J'ai un textBox sur lequelle je rentre le nom du pc où se trouve un serveur SqlServer, puis j'appuis sur un bouton pour tester ma connexion :

donc le code donne : (code qui se trouve dans l'évent Click de mon bouton)

try
{
SqlConnection sqlconnection = new SqlConnection() ; sqlconnection.ConnectionString String.Concat("data source ", t.Text.Trim()," ; integrated security = true; initial catalog = master") ;
sqlconnection.Open() ;
sqlconnection.Close() ;
MessageBox.Show("Reussi !") ;
}
catch (Exception ex)
{
MessageBox.Show("Raté...") ;
}

Et donc ca marche... mais à moitié, car dans mon textbox : je rentre "localhost" puis je fais tester la connexion il me marque "Reussi !".
Si ensuite j'eteins mon serveur sql server et que j'appuis une nouvelle fois sur tester la connexion il me marque encore "Reussi ! " alors que mon serveur est eteins.......

D'un autre coté si je marque une premiere fois "localhost" il me marque "Réussi !", si j'eteins mon serveur et que je marque "LocaaaalHost" là il me marque bien "Raté". Donc ici c'est normal.

6 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
Salut, je pense que c'est à cause du Pool de connection qui garde en mémoire la connexion, elle n'est pas vraiment fermée en fait..
Messages postés
427
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
29 janvier 2008
1
slt regarde du coté de l'enum state de ton object sqlconnection il te renverra l'état de ta connection
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
Ben oui mais il me la considère tjs ouverte, apparement une solution consisterait à ajouter ; pooling = false" dans la chaine de connexion.
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
Oui y'a aussi en .NET 2.0 SqlConnection.ClearPool( .. ). Mais normalement c'est utile le pool ça permet d'améliorer les performances.
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
Merci de ta réponse, comment je peux faire pour tester la connexion de manière efficace ?
Messages postés
903
Date d'inscription
mercredi 23 février 2005
Statut
Membre
Dernière intervention
16 juin 2010
2
pour que le pool ne garde pas en mémoire la connexion comme l'a dit Lutinore