2009-08-01 7 views
0

J'ouvre la connexion à la base de données dans le biginig de mon programme (une fois)Ouvrir Connexion à la base de données, Comment vérifier si elle existe toujours?

après 5 minutes le serveur s'est arrêté.

comment je peux attraper ce problème?

Je ne suis pas ouvrir la connexion befor une requête

merci de

+0

Quel type de base de données? Quelle bibliothèque utilisez-vous pour vous y connecter? – hannson

+0

Quel genre de programme? Quelle version de .NET? –

Répondre

2

En général, vous ne devriez pas garder la connexion ouverte, mais gardez la connexion dans la piscine. Si la connexion est interrompue, toute commande que vous essayez d'exécuter lancera une exception et vous pourrez gérer le problème et tenter de vous reconnecter.

+1

Yuriy a raison. Au lieu d'ouvrir la connexion lorsque votre programme démarre (et probablement de le fermer lorsque votre programme se termine), vous devez vous connecter, exécuter la requête, puis déconnecter chaque fois que vous exécutez une requête. Si le serveur tombe en panne pendant que votre programme est en cours d'exécution, soit la tentative de connexion ou (très rarement à cause de problèmes de synchronisation) l'exécution de la requête va générer une exception, que votre programme peut attraper. – MusiGenesis

0

En général, vous ne devriez pas garder votre connexion ouverte. Mais si la connexion a été ouverte depuis un certain temps, il est toujours prudent de vérifier si la connexion est toujours active. Sqlconnection a une propriété d'état de connexion, et capture également les sqlexceptions pour que vous sachiez que le problème est lié à la base de données.

Questions connexes