2010-11-26 4 views
3

J'ai un programme WinForms qui se connecte à SQL Server 2008.ce qui est l'utilisation correcte de la connexion à la base de données

Il y a 100 utilisateurs qui se connectent à cette base de données et

Lancer la requête de recherche -> et mise à jour la base de données.

J'ouvre la connexion lorsque le programme démarre et se ferme à la fin du programme.

Est-ce la bonne chose à faire?

Vaut-il mieux ouvrir une connexion -> lancer une requête -> mettre à jour -> et fermer la connexion?

Merci à l'avance

Répondre

4

est-il préférable d'ouvrir la connexion -> Exécuter la requête -> Mise à jour -> et le lien étroit ?

Oui, SQL Server optimise déjà les connexions et pooling is handled by ADO.Net. Ouvrez la connexion, utilisez-la pour obtenir ce que vous voulez et fermez-la. Laissez SQL gérer le reste.

A partir de MSDN (source ci-dessus):

Nous vous recommandons fortement de toujours fermer la connexion lorsque vous êtes fini de l'utiliser de telle sorte que la connexion sera retourné à la piscine .

4

Ceci est une question très ancienne et je crois qu'il a été répondu des années auparavant.

Toujours, démarrez la connexion -> exécutez SQL -> Fermer.

Laissez le le regroupement de connexions s'inquiéter du coût d'ouverture et de fermeture de la connexion. Si vous continuez à utiliser la même chaîne de connexion (réalisable à l'aide de Integrated Security), vous ouvrez rarement une nouvelle connexion et vous en trouvez des existantes.

0

Si vous maintenez une connexion de base de données ouverte, vous conservez la quantité de mémoire réservée pour cette tâche. Par conséquent, la performance peut être affectée. De plus, s'il y a une erreur critique dans le programme et qu'il se termine prématurément, cette connexion peut ne pas être automatiquement libérée.