IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

ExecuteReader requires an open..


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 6
    Par défaut ExecuteReader requires an open..
    Bonjour à tous. j'ai effectué une recherche sur le forum au sujet de mon probleme et n'ayant rien trouvé je viens demander de l'aide directement ici. J'ai herite d'un site devellope a l'etranger (je suis en france) en asp.net c# . J'ai un probleme recurent sur n'importe quelle page de mon site. de façon tout a fait aleatoire (en apparence en tout cas) j'ai le message "
    ExecuteReader requires an open and available Connection. The connection's current state is closed.

    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.InvalidOperationException: ExecuteReader requires an open and available Connection. The connection's current state is closed.

    Source Error:

    Line 135:
    Line 136: SqlCommand cmd_Extensions = new SqlCommand(requete, cconnection);
    Line 137: StrDataReader = cmd_Extensions.ExecuteReader();
    Line 138: while (StrDataReader.Read())
    Line 139:
    "
    qui remonte. cependant en rafraichissant la page peut finalement apparaitre, ou pas. Quelqu'un a deja eu ce type de problemes ? merci.

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Je suppose qu'il y a une classe qui gère la création d'une connexion ? C'est sous quel forme ? Peut être c'est une problème d'implémentation de cette classe ... cconnection est définie comment ?
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 6
    Par défaut
    oui je pense qu'il s'agit ce celle ci presente dans index.aspx.cx


    {
    string requete;

    requete = "SELECT * from homepage";

    string strConnection = System.Configuration.ConfigurationManager.ConnectionStrings["A***DBConnectionString"].ConnectionString;
    SqlConnection cconnection = new SqlConnection(strConnection);

    try
    {
    cconnection.Open();

    SqlDataReader StrDataReaderx;

    SqlCommand cmd_infosHome = new SqlCommand(requete, cconnection);
    StrDataReaderx = cmd_infosHome.ExecuteReader();
    while (StrDataReaderx.Read())
    {
    switch (StrDataReaderx["HOM_TYP"].ToString())
    {
    case "ACT":
    lblTitreActualites.Text = Server.HtmlDecode(StrDataReaderx["HOM_PHO"].ToString());
    lblTexteActualites.Text = Server.HtmlDecode(StrDataReaderx["HOM_ACT"].ToString());
    break;
    case "OFR":
    //imgOffre.ImageUrl = StrDataReader["HOM_PHO"].ToString();
    //HyperLinkOffre.NavigateUrl = StrDataReader["HOM_URL"].ToString();
    break;
    }
    }
    StrDataReaderx.Close();
    }
    finally
    {
    cconnection.Close();
    cconnection.Dispose();
    }

    }

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Utilise la balise code, parce que c'est difficile de lire ainsi du code ...
    Il n y a pas de catch, essaie de mieux traiter tes exceptions ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    {
                string requete;
     
                requete = "SELECT * from homepage";
     
                string strConnection = System.Configuration.ConfigurationManager.ConnectionStrings["A***DBConnectionString"].ConnectionString;
                SqlConnection cconnection = new SqlConnection(strConnection);
     
                try
                {
                    cconnection.Open();
     
                    SqlDataReader StrDataReaderx;
     
                    SqlCommand cmd_infosHome = new SqlCommand(requete, cconnection);
                    StrDataReaderx = cmd_infosHome.ExecuteReader();
                    while (StrDataReaderx.Read())
                    {
                        switch (StrDataReaderx["HOM_TYP"].ToString())
                        {
                            case "ACT":
                                lblTitreActualites.Text = Server.HtmlDecode(StrDataReaderx["HOM_PHO"].ToString());
                                lblTexteActualites.Text = Server.HtmlDecode(StrDataReaderx["HOM_ACT"].ToString());
                                break;
                            case "OFR":
                                //imgOffre.ImageUrl = StrDataReader["HOM_PHO"].ToString();
                                //HyperLinkOffre.NavigateUrl = StrDataReader["HOM_URL"].ToString();
                                break;
                        }
                    }
                    StrDataReaderx.Close();
                }
                finally
                {
                    cconnection.Close();
                    cconnection.Dispose();
                }
     
            }
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  5. #5
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Pourtant le message semble clair...

    "La connexion n'est pas ouverte."

    Il te manque l'instruction suivante entre la ligne 136 et 137

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cconnection.Open();

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Citation Envoyé par Kelpan Voir le message
    Pourtant le message semble clair...

    "La connexion n'est pas ouverte."

    Il te manque l'instruction suivante entre la ligne 136 et 137

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cconnection.Open();
    Après le try il fait bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cconnection.Open();
    Donc ce n'est pas le souci ...

    En plus, si je ne m'abuse il dit que ça ne marchait pas que de manière aléatoire ...
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  7. #7
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    La source avec le "try" ne correspond pas à la source qui provoque l'erreur apparemment.

    Pour moi je ne vois pas beaucoup de possibilité. Le message précise bien que la connexion est fermée au moment de l'appel. Cela veut dire qu'il n'y a pas d'ouverture de connexion avant le lancement de la commande.

    Ensuite, si cela marche aléatoirement, cela vient surement d'une mauvaise gestion de la femeture de connexion dans certaines procédures qui fait que la procédure peut recevoir une connexion ouverte.

  8. #8
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 6
    Par défaut
    Merci rad_hass, en effet c'est tres etrange comme comportement. le contenu des pages remonte ou pas. je n'arrive pas a savoir d'ou cela peut venir. du code ? du sqlerver ? des deux ? n'etant pas le devellopeur et n'ayant pas participé au devellopement je tatonne pas mal.
    Quand aux lignes 136 et 137 ça depend de la page. là je n'avais pas penser a la noter. apres une dizaine de refresh sur la meme page j'ai reussi a la replanter et là j'ai :

    ExecuteReader requires an open and available Connection. The connection's current state is closed.
    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.InvalidOperationException: ExecuteReader requires an open and available Connection. The connection's current state is closed.

    Source Error:


    Line 23: string requete = "select * from ConditionsDeVente where obj_id in(" + Request.QueryString["sej_id"].ToString() + "," + Request.QueryString["hot_id"].ToString() + ")";
    Line 24: SqlCommand cmd_conditions = new SqlCommand(requete, cconnection);
    Line 25: StrDataReader = cmd_conditions.ExecuteReader();
    Line 26: lblConditionsHotel.Text = "";
    Line 27: while (StrDataReader.Read())


    Source File: c:\Inetpub\Amplitudes.com\Sejours\PrixEtConditions.aspx.cs Line: 25

    Stack Trace:


    [InvalidOperationException: ExecuteReader requires an open and available Connection. The connection's current state is closed.]
    System.Data.SqlClient.SqlConnection.GetOpenConnection(String method) +857028
    System.Data.SqlClient.SqlConnection.ValidateConnectionForExecute(String method, SqlCommand command) +9
    System.Data.SqlClient.SqlCommand.ValidateCommand(String method, Boolean async) +56
    System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +73
    System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
    System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +122
    System.Data.SqlClient.SqlCommand.ExecuteReader() +84
    AmplitudesV2.Sejours.PrixEtConditions.Page_Load(Object sender, EventArgs e) in c:\Inetpub\Amplitudes.com\Sejours\PrixEtConditions.aspx.cs:25
    System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
    System.Web.UI.Control.OnLoad(EventArgs e) +99
    System.Web.UI.Control.LoadRecursive() +47
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061

Discussions similaires

  1. Réponses: 6
    Dernier message: 16/02/2015, 12h04
  2. [PEAR] Fatal error: require_once(): Failed opening required 'HTML/Table/Storage.php'
    Par arakscons dans le forum Bibliothèques et frameworks
    Réponses: 14
    Dernier message: 16/09/2014, 10h36
  3. [Smarty] Failed opening required '../Smarty/Smarty.class.php'
    Par Invité dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 11/11/2010, 19h31
  4. Réponses: 3
    Dernier message: 01/09/2009, 07h38
  5. Choix d'un EDI pour la 3D (Open GL, Portable)
    Par Riko dans le forum OpenGL
    Réponses: 6
    Dernier message: 01/08/2002, 12h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo