92 votes

Quelle est la différence entre SqlCommand.CommandTimeout et SqlConnection.ConnectionTimeout?

Existe-t-il une différence entre SqlCommand.CommandTimeout et SqlConnection.ConnectionTimeout dans .NET?

136voto

Jon Skeet Points 692016

Oui. CommandTimeout est combien de temps une commande unique pour mener à bien. ConnectionTimeout est combien de temps cela peut prendre pour établir une connexion au serveur de démarrer avec.

Par exemple, vous pourriez être en cours d'exécution relativement long de l'exécution de requêtes - c'est tout à fait correct pour eux de prendre 10 minutes pour le remplir, mais si il a fallu 10 minutes pour faire la connexion pour commencer, vous savez que quelque chose a été mal.

30voto

NinethSense Points 4295

SqlCommand.CommandTimeout = délai d'attente maximal de votre requête SQL. Moyens, combien de temps un (par exemple: SELECT, UPDATE) la requête peut prendre pour son exécution. Si elle dépasse SqlCommand.CommandTimeout, puis il s'arrête l'exécution. Une commande erreur de dépassement de délai se produit.

SqlConnection.ConnectionTimeout = délai d'attente maximal de votre connexion. Moyens, combien de temps votre objet de connexion peut essayer de se connecter. Si elle dépasse le délai spécifié, il cesse de se connecter. Un délai d'attente de connexion erreur se produit.

11voto

Cerebrus Points 18045

ConnectionTimeout spécifie la durée à attendre avant l'expiration du délai pour tenter d' ouvrir un SqlConnection . Cela concerne la commande Connection.Open() .

tandis que

SqlCommand.CommandTimeout spécifié la durée pendant laquelle un SqlCommand attend avant d'expiration. Cela se produit après qu'une connexion a été ouverte et qu'une des méthodes ExecuteXXX ait été appelée sur l'objet Command.

0voto

dodng Points 11
select @@LOCK_TIMEOUT //get the TIMEOUT,default is -1
set LOCK_TIMEOUT = 600//set TIMEOUT with ms

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X