cs_TobTob
Messages postés5Date d'inscriptionmardi 6 novembre 2007StatutMembreDernière intervention 8 novembre 2007
-
6 nov. 2007 à 11:35
cs_TobTob
Messages postés5Date d'inscriptionmardi 6 novembre 2007StatutMembreDernière intervention 8 novembre 2007
-
8 nov. 2007 à 17:26
Bonjour à tous,
j'ai une application développée en ASP.NET avec une base SQL Server 2003.
Au chargement d'une de mes pages j'obtiens l'erreur suivante:
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
Description: An unhandled exception occurred during the execution of
the current web request. Please review the stack trace for more
information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Timeout expired.
The timeout period elapsed prior to completion of the operation or the
server is not responding.
J'ai déjà parcouru quelques forums pour trouver le moyen d'augmenter le
timeout et j'ai déjà essayé ça: (ajouté dans le web.config)
mais je n'ai toujours pas trouvé de réponse à mon problème.
la page en question dispose d'un gridview qui est rempli grace à une
stored procedure. j'ai bien l'impression que c'est l'exécution de la
stored proc qui pose problème.
Alors si vous avez une idée, n'hésitez pas.
merci d'avance
A voir également:
The timeout period elapsed prior to completion of the operation or the server is not responding.
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 6 nov. 2007 à 20:24
Bonjour,
c'est une SqlException, le timeout est donc au niveau SQL, le problème se trouve donc pour accéder à sql server. Le pb vient donc d'une mauvaise IP, d'un part-feu qui block le traffic, d'un mauvais login/pass, que sql n'autorise pas les remote connections, ...
cs_TobTob
Messages postés5Date d'inscriptionmardi 6 novembre 2007StatutMembreDernière intervention 8 novembre 2007 7 nov. 2007 à 11:47
Bonjour Jesusonline,
j'ai vérifié l'accès à sql sever, il n'y a pas l'air d'avoir de problème de ce coté là.
j'ai lancé sql profiler pour voir ce que la procédure stockée ramenait.
voila ce que j'ai dans la trace:
Event Class TextData ... CPU Reads Writes Duration
RPC:Completed Ma Store Proc ... 4454 1970401 300 30060
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 7 nov. 2007 à 14:05
ah ?
bizarre car normalement l'erreur que tu as ca vient de l'accès à sql server ! T'es sur que le profiler te montre la bonne requête, essaye de te mettre en debug dans Visual Studio juste avant le executequery qui plante et regarde avec le profiler si la requete est bien passé. Sinon donne moi la ligne qui plante et le détail de l'exception (stack trace)
cs_TobTob
Messages postés5Date d'inscriptionmardi 6 novembre 2007StatutMembreDernière intervention 8 novembre 2007 7 nov. 2007 à 14:59
Il me mais pas la ligne qui plante. j'ai ça à la place:
Source Error:
An unhandled exception was generated during the execution of the
current web request. Information regarding the origin and location of the
exception can be identified using the exception stack trace below.
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 7 nov. 2007 à 15:24
Arf tu utilises un sqldatasource :-/
Essaye de faire une page "classique" qui se connecte dans la base de données ou pointent le sql datasource.
La requete dans SQL profiler est bien celle qu'est censé executé le sqldatasource ?
Le problème ne vient pas de la connexion mais d'un timeout dans la requete SQL, récupere la requete qu'est censé joué le sqldatasource et lance le dans sql management et regarde le temps que cela prend. Il te manque peut etre un index ou alors une connexion (si tu retournes quelques millions de lignes ... :p)
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 7 nov. 2007 à 16:44
11 secondes pour 50 lignes ???
vérifie les index et la requête, c'est beaucoup trop.
Pour augmenter le timeout d'une connexion sql ca se joue au niveau du web.config et de l'objet sqlconnection ... avec un sqldatasource il doit y avoir une propriété je supose (j'utilise pas ce truc là)
cs_TobTob
Messages postés5Date d'inscriptionmardi 6 novembre 2007StatutMembreDernière intervention 8 novembre 2007 8 nov. 2007 à 17:26
Bon alors j'ai créé une page classique avec juste le sqldatasource qui pointent vers la base avec le gridview.
J'ai toujours l'erreur de timeout.
Par contre quand je configure mon sqldatasource, on a la possibilité de tester la requête. je l'ai testé avec les paramètres par défaut et sa me retourne bien les valeurs que je devrais avoir.