Quelles sont les causes SqlExceptions expiré Timeout dans LINQ to SQL?
Ma demande continue de s'exécuter dans le Délai d'attente Expiré SqlExceptions. Le truc, c'est que cette requête est qu'il suffit de lancer pour un montant décent de temps. Je vais avoir de la difficulté à décider où cette exception se produit. Est-ce un délai d'attente qui est créé sur le serveur de base de données ou est-il passe dans mon programme? Ou si elle pouvait être à la fois, comment puis-je savoir de laquelle il s'agit?
Et enfin, comment puis-je prolonger le délai d'attente?
source d'informationauteur Jason Baker | 2009-05-08
Vous devez vous connecter pour publier un commentaire.
Il est probable que vous êtes en cours d'exécution sur le CommandTimeout ensemble sur votre DataContext. La valeur par défaut est de 30 secondes.
Tout ce que vous devez faire est de définir la propriété sur le DataContext avant d'exécuter votre requête.
augmentation timeout = MAUVAIS
fix query = BONNE
Je ne suis pas sûr de tous les détails, mais en général la suivante s'applique:
lorsqu'il exécute une requête lente effectuer les opérations suivantes dans management studio:
"Scan" = touche chaque ligne de la table ou de l'index). Aimeriez-vous "scan" de l'annuaire à la recherche d'un nombre ou utilisez l'index?
C'est probally survenant parce que le délai d'attente par défaut est de 30 secondes. Vous pouvez modifier ce réglage par un attribut Timeout sur la chaîne de connexion. Alternatley vous pouvez le régler sur la DataContext.
Voici un l'article sur le code du projet à ce sujet.