Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/01/2012, 15h58   #1
Membre du Club
 
Homme
Inscription : juin 2010
Messages : 91
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2010
Messages : 91
Points : 44
Points : 44
Par défaut Exceptions d'une tentative de connexionSql Server

Boujour

Imaginons que je veux gérer les exceptions d'une tentative de connexion a un serveur innexistant ou déconnecter de la machine courrante.

C'est ce que je veux faire.

Pour l'instant je fais une tentative de connexion :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
public static bool TentativeConnexion()
{
 
            // Connexion string
            string connectionString = "server =MonServerInexistant ;database=MaBDD;Trusted_Connection=True";
 
            // Testing connexion TO DATABASE
            USING (SqlConnection connection = new SqlConnection(connectionString))
            {
                try
                {
                    connection.Open();
                }
                catch (Exception ex)
                {
                   //gérer l'exception rapidement
                }
 
                return (connection.State == System.Data.ConnectionState.Open);
            }
}
Donc cette fonction est simple et me retourne un booléen si la connexion est ok ou pas.

Comme je l'ai dit précédemment je voudrais gérer l'exception d'une tentative de connexion a un serveur inexistant mais RAPIDEMENT !

Avec cette fonction il me faut attendre quelques 20 secondes avant que cela me renvoi False !

Comment faire pour gérer sa plus rapidement ?


j'espère avoir été clair...


Merci bien

KevDEta
kevindeta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 16h23   #2
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 725
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 725
Points : 6 849
Points : 6 849
Il faut rajouter dans votre chaîne de connexion la propriété Connection Timeout. Par défaut il me semble que la valeur est fixée à 15s

Par exemple un timeout de 10s :

Code :
1
2
3
 
string connectionString = "server =MonServerInexistant ;database=MaBDD;Trusted_Connection=True;Connection Timeout=10";
...
++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 10h52   #3
Membre du Club
 
Homme
Inscription : juin 2010
Messages : 91
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : juin 2010
Messages : 91
Points : 44
Points : 44
ok merci Votre réponse m'a sembler marche a première vue mais j'ai beau faire varier la valeur du timeout, cela ne change pas mon temps de recherche d'un serveur inexistant, environ 40 secondes a vue de nez !, quand on a une application qui fait que sa sa devient lassant d'attendre xD.
kevindeta est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h47.


 
 
 
 
Partenaires

Hébergement Web