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

Windows Forms Discussion :

[MySQL] Modification Connection Timeout


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 15
    Points : 14
    Points
    14
    Par défaut [MySQL] Modification Connection Timeout
    Bonjour !

    Alors voilà, je développe une une appli en c#, elle doit se connecter à une base MySQL, j'utilise donc le connector qui va bien (6.0.3)

    J'ai une requête qui prend pas mal de temps (120 sec ~), j'ai donc modifier mon connectionTimeout grâce à ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ConnnectionStr = "Database=zabbix;Data Source=IP;Connect Timeout=140;User Id=id;Password=motdepasse";
    J'ai vérifié qui prend bien en compte là nouvelle valeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageBox.Show(connexionZ.ConnectionTimeout.ToString());
    Mais quand je lance l'appli, il me crache un vieux "Timeout expired". J'ai chronométré, et il me jette à 30sec !

    J'ai pas mal cherché, et rien... J'ai l'impression d'être le seul à avoir ce problème ^^

  2. #2
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Je ne crois pas que le Time Out est quelque chose a voir avec le temps d'exécution de la requête, Le time out permet juste de définir le temps suite auquel si mon application n'a pas pue établie une connexion avec le SGBD il y'a arrêt.
    Tu devrais essayé d'optimiser ta requete au lieux de modifier le Time Out
    Et Mysql a l'art d'être lent en écriture
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Merci de ta réponse !

    Je me suis donc trompé de timeout...

    Est-ce que tu connais une solution pour modifier la timeout d'exécution ? Car il n'y pas de problèmes dans ma requête, juste qu'elle fait référence à plusieurs tables dont une qui dépasse les 10Millions d'enregistrements.

    Merci !

  4. #4
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Pour ton problème la seul chose que tu peu faire coter application c'est d'essayer d'optimiser ta requête car ton l'application qui est un client pour le SGBD ne peut définir le temps d'exécution de ces requête, puisque ce temps dépend de la quantité de données a traiter, Tu peu essayé de trouver des documentation pour voir comment optimiser des requêtes ou sa BD
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Merci pour ta réponse,

    Mails alors pourquoi ça ne pose pas de problème quand j'exécute ma requête avec Navicat ou autre ? Il met du temps à me renvoyer le résultat mais ça marche, là avec c# il s'arrête à 30sec c'est quand même bizarre.

  6. #6
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    est que ta procédure de connexion a la BD marche bien ? est que tu a pue faire des test d'accès a la BD
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Ah oui ça marche nickel, je fais pas mal de requêtes et c'est juste avec celle-là que ça déconne, car elle prends trop de temps.

    Quand je l'enlève, les autres marchent très bien !

    Peut-être une limite qui viendrait du connector MySQL ?

  8. #8
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    je ne sais pas trop poste moi ta requête, je vais voir si on peut encore l'optimiser
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  9. #9
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    - Utilise la propriété CommandTimeout de l'objet DbCommand que tu utlises, plutot que le TimeOut de connexion, qui, comme mentionné supra, ne joue que sur le délai possible de réponse à la demande de connexion, et n'a aucune influence sur le temps maxi d'exécution d'une commande.

    - Optimise ta requête et/ou ta base : tes indexes sont-ils judicieusement positionnés ? tes clefs externes ?

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Merci !!

    C'est bon ça marche ! Je mets le code pour ceux que ça pourrait intéresser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                    MySqlCommand command = new MySqlCommand(_commande, _connexion);
                    command.CommandTimeout = 140;
                    _adapter.SelectCommand = command;
    Ma requête est très bien optimisée merci quand même ! Et la table que je requête est générée par un soft donc je n'ai pas la main dessus !

    La base atteins les 10Go donc je pense que c'est normal que ça traine un peu sur certaines requêtes

    Merci encore pour ces réponses !

    EDIT : C'est à moi de mettre que le sujet est résolu ?

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 1
    Points : 0
    Points
    0
    Par défaut
    Bonjour les gars!
    Je rencontre le même problème mais dites moi où est-ce que je mets ce code qui marche? Donnez moi un peu d'explication please!

    Merci d'avance!

  12. #12
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 639
    Points : 2 148
    Points
    2 148
    Par défaut
    Ou est la difficulté ? Il te suffit de mettre les 2 dernières lignes la ou tu construit ta requête , comme la première ligne le montre.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Oracle8i][JDBC]Probleme de perte de connection, timeout ?
    Par Drizzt [Drone38] dans le forum Oracle
    Réponses: 2
    Dernier message: 31/03/2006, 15h45
  2. Mysql - Modification du Hostname
    Par NC dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 21/03/2006, 14h36
  3. [TOMCAT] serviverr.log => connection timeout reached
    Par Cako19 dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 14/02/2006, 17h44
  4. [MySQL] prb de timeout !
    Par kurkLord dans le forum Hibernate
    Réponses: 5
    Dernier message: 23/09/2004, 10h31
  5. [MySql] Se connecter sous Free???
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 7
    Dernier message: 31/05/2004, 23h22

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