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

Bases de données Discussion :

QMYSQL driver not loaded


Sujet :

Bases de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 34
    Par défaut QMYSQL driver not loaded
    Bonsoir ! (:

    Je viens a vous dans une position nommé, la "PLS" (Position latéral de sécurité) ! (:

    Je suis en train de développer une application qui lit des sondes avec la liaison modbus sous QT 5.8 (Extension de QT sortie tout récemment sur QT 5.8).
    Par la suite j'envoie les valeurs que je reçoit dans une base de données. Pour l'instant je travail avec celle de wamp (qui est en local), par la suite je me connecterais sur MYSQL 5.7.

    Je travail avec une collègue sur le même projet et dans sa partie, elle se connecte en local (Pour faire ces tests). De son coté la connexion s’effectue sans problème.

    la seul différence c'est qu'elle utilise QT 5.7 !


    Elle m'a montré quel DLL il fallait importer ou mettre en dure sur QT. J'ai donc importer les DLL de wamp dans mon projet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    LIBS += -LC:\wamp64\bin\mysql\mysql5.7.14\lib -llibmysql
    LIBS += -LC:\wamp64\bin\mysql\mysql5.7.14\lib -llibmysqld
    J'ai bien pensé à déclaré tout le bordel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include <QtSql>
    #include <QSqlDatabase>
    Et ma fonction de connexion est exactement la même que ma collègue :
    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
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
        db.setHostName("localhost");
        db.setDatabaseName("acquisition");
        db.setUserName("thomas");
        db.setPassword("******");
        db.setPort(3306);
     
        if(db.open())
        {
            cout << "Vous etes maintenant connecte a " << q2c(db.databaseName()) << endl;
        }
        else
        {
            cout << "La connexion a echouee, desole" << endl <<
            q2c(db.lastError().text()) << endl;
        }
    Je sais que je met du code c++ dans une partie de BDD mais l'origine de mon problème est :
    QSqlDatabase: QMYSQL driver not loaded
    QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
    Driver not loaded Driver not loaded
    Suite à la demande de ma collège, déplacer :
    -libmysql.dll
    -libmysql.lib
    -libmysqld.dll
    dans le fichier des plugin de sqldrivers de QT et dans le bin aussi.
    Comme ça je suis sur qu'il les trouvent.

    Mais l’erreur persiste. Mon prof de BTS n'a pas non plus réussis à trouver l'erreur. Cela dure depuis plus d'un jour et demie.

    Le problème encore plus embêtant, c'est que l'extension modbus de QT n'est disponible que sous QT 5.8. Je ne peux donc pas laisser tout mon travail en plant, j'essaie donc de trouver une solution par tous les moyens ! (;

    En tout cas je vous remercie d'avance pour votre lecture et vos réponses futur ! (;

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 752
    Par défaut


    Je suppose que tu as fait une recherche sur ton message d'erreur (QMYSQL driver not loaded) ? Tu as donc déjà entendu parler du fichier qsqlmysql.dll (par exemple, dans https://www.developpez.net/forums/d1...er-not-loaded/) ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 34
    Par défaut
    Pour commencer merci de votre réponse (:

    J'ai beaucoup étudier la discutions mis en lien. J'ai fait les modifications proposés et surtout j'ai vérifier les version de mysql et de QT comptatible.
    Pour QT 5.6 sous windows 7 la version de mysql est : "5.6.11"
    Pour QT 5.7 sous windows 7 la version de mysql est : "-"
    Pour QT 5.8 sous windows 7 la version de mysql est : "-"
    (https://wiki.qt.io/Qt_5.8_Tools_and_Versions)
    Que veux donc dire "-" ?

    Sinon, j'ai fais beaucoup de recherche avant de venir ici pour ce problème qui s'apparente juste à un problème de dll...

    A la fin de la discussion voilà la conclusion du mec qui a un problème :
    Salut à tous. J'ai finalement résolu mon problème. En fait il fallait juste télécharger la version de MySQL qui correspond à celui que j'utilise sous mon WAMP. Après il faut copier les fichiers libmysql.dll, libmysqld.dll, libmysql.lib, qsqlmysqld.dll et qsqlmysql.dll dans le dossier où se trouve votre exe. Il faut également copier ces fichiers dans le dossiers sqldrivers du dossier d'installation de votre Qt. Concernant le fichier .pro, dans la ligne du LIB , tu mets plutôt libmysql.lib à la fin au lieu de qsqlmysql.dllL.
    Après avoir fait tout ce qu'il a dit, la seul différence c'est qu'il travail avec QT 5.6.

    Je tiens à précisé que j'ai QT 5.7 et QT 5.8 sur mon pc.
    Je me pose la question, si je désinstalle QT 5.7 ça pourrait enlever peut-être des erreurs de collisions ?
    Si je refais un projet QT 5.8 avec le même code pour voir si ce n'est pas un paramètre de mon projet. Mais cet argument n'est pas valide puisque j'ai ouvert le projet de ma collègue sous QT 5.7 (Elle travail en 5.7 puisque le même programme en 5.8 ne fonctionnais pas.) Mais pas moyen. J'ai toujours la même erreur MYSQL, autant sous 5.7 ou 5.8.

    Donc voilà l'état des lieux. (:

    Merci d'avance !

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 34
    Par défaut
    Il s'avère donc, que mon problème est bien plus simple que cela (:

    J'avais juste wampserveur en 64 bit alors que j'avais QT 5.8 en MGW 32 bit. J'ai donc désinstallé et réinstallé wampserver et le problème est résolut.
    N'oubliez pas d'inclure la lib avec cette ligne dans le .pro ! (;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LIBS += -LC:\wamp\bin\mysql\mysql5.7.14\lib -llibmysql
    Merci encore pour vos réponses ! (:

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

Discussions similaires

  1. QMYSQL driver not loaded
    Par ptissendier dans le forum Bases de données
    Réponses: 2
    Dernier message: 02/12/2016, 18h00
  2. QMYSQL driver not loaded
    Par ngono1 dans le forum Bases de données
    Réponses: 10
    Dernier message: 08/05/2016, 02h24
  3. ' QSqlDatabase: QMYSQL driver not loaded ' sur un autre ordi
    Par FoX_*D i E* dans le forum Bases de données
    Réponses: 1
    Dernier message: 19/07/2014, 17h01

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