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

Discussion :

Problème de connexion à une base de données MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut Problème de connexion à une base de données MySQL
    Bonjour,

    Je débutes avec QT. J'essaie de réaliser une application qui communique avec une base de données MySQL.
    J'ai WAMP v2.2 d'installé et j'utilise la dernière version de QT Creator.
    J'ai suivi des tutos pour m'initier à la connexion et au dialogue entre QT et une bdd MySQL mais j'ai une erreur : "Driver not loaded Driver".
    J'ai cherché à quoi correspondait cette erreur et apparemment il faut recompiler un plugin !
    Voici mon code (tout simple ) :
    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
     
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
     
        db.setHostName("localhost");
        db.setPort(8000);
        db.setUserName("binos");
        db.setPassword("binos");
        db.setDatabaseName("toto");
        if(db.open())
        {
            std::cout << "Vous êtes maintenant connecté à " << q2c(db.hostName()) << std::endl;
            db.close();
        }
        else
        {
            std::cout << "La connexion a échouée, désolé" << std::endl << q2c(db.lastError().text()) << std::endl;
        }
    Vu que j'ai déjà WAMP d'installé avec une bdd toute prête, que dois je faire pour que mon application QT fonctionne ?

    Merci d'avance, à bientôt !

  2. #2
    Responsable Qt & Livres


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

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 593
    Points
    188 593
    Par défaut


    Je trouve quand même que tu es assez fort : une application avec base de données avec QuickTime !

    Sinon, tu as trouvé toi-même la solution à ton problème : il faut compiler le bon plug-in. Pas de chance, tu n'as pas tout ce qu'il faut avec WAMP, il faut encore tout l'apparat de compilation (donc direction le site officiel et le paquet complet). Par exemple, tu peux suivre http://qt.developpez.com/tutoriels/q.../qmysql-mingw/.
    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 régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    Euh, non pas avec QuickTime !

    Pour le lien, j'étais allé voir donc si je le suis à la lettre, la connexion à la bdd devrait fonctionner ?
    Quel est le "bon plugin"?
    Le fait d'installer MySQL ne va pas mettre le "bazar" avec WAMP déjà installé ?

    J'avoue que je suis un peu perdu !

  4. #4
    Responsable Qt & Livres


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

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 593
    Points
    188 593
    Par défaut
    Citation Envoyé par petitclem Voir le message
    Pour le lien, j'étais allé voir donc si je le suis à la lettre, la connexion à la bdd devrait fonctionner ?
    En théorie, oui.

    Citation Envoyé par petitclem Voir le message
    Quel est le "bon plugin"?
    Tout plug-in supportant MySQL convient. Par chance pour toi, il n'y en a qu'un.

    Citation Envoyé par petitclem Voir le message
    Le fait d'installer MySQL ne va pas mettre le "bazar" avec WAMP déjà installé ?
    Si tu lances les deux sur le même port, ça risque de ne pas aller ; si tu ne fais qu'utiliser les libs de ce que tu installes à part, aucun (mais fais alors attention à bien prendre la même version, sinon ça ne fonctionnera peut-être pas).
    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 !

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    OK merci dourouc05 !

    Tout plug-in supportant MySQL convient. Par chance pour toi, il n'y en a qu'un.
    C'est à dire : QMYSQL ?

    Si tu lances les deux sur le même port, ça risque de ne pas aller ; si tu ne fais qu'utiliser les libs de ce que tu installes à part, aucun (mais fais alors attention à bien prendre la même version, sinon ça ne fonctionnera peut-être pas).
    Comment faire pour n'installer ou n'utiliser que les libs de MySQL tout en utilisant WAMP ?
    Enfin, si je suis le tuto je ne devrais pas rencontrer de problèmes.

  6. #6
    Responsable Qt & Livres


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

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 593
    Points
    188 593
    Par défaut
    Citation Envoyé par petitclem Voir le message
    C'est à dire : QMYSQL ?
    Non, tu n'as pas de problème de vue trop prononcé, c'est bien ça .

    Citation Envoyé par petitclem Voir le message
    Comment faire pour n'installer ou n'utiliser que les libs de MySQL tout en utilisant WAMP ?
    Tu installes MySQL complet, en cochant la case des bibliothèques de développement ou ce qui s'y rapporte (ça fait longtemps que je n'y ai plus touché ), dans un autre dossier que l'installation de WAMP (au cas où tu aurais cette idée saugrenue), tu piques les chemins de ce qu'il te faut (.h, .lib) et tu les injectes dans le tutoriel (au lieu de C:\Dev\MySQL\include et C:\Dev\MySQL\lib\opt, attention à bien garder le -L devant le chemin et -lmysql).
    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 !

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    OK merci.

    Quand tu parlais de faire attention à prendre la même version : c'est à dire la même version de MySQL ?
    J'ai sur WAMP MySQL v5.5.16 et sur le site de MySQL j'ai pris la v5.5.20 : ça va pas le faire ?

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    J'ai commencé à suivre le tuto (http://qt.developpez.com/tutoriels/q.../qmysql-mingw/) et déjà ça va mal !

    J'ai une erreur avec cette commande : reimp -d libmysql.lib

    Erreur : reimp n'est pas reconnue en tant que commande interne ou externe, ...

    Quel est le problème ?

  9. #9
    Responsable Qt & Livres


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

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 593
    Points
    188 593
    Par défaut
    Citation Envoyé par petitclem Voir le message
    Quand tu parlais de faire attention à prendre la même version : c'est à dire la même version de MySQL ?
    J'ai sur WAMP MySQL v5.5.16 et sur le site de MySQL j'ai pris la v5.5.20 : ça va pas le faire ?
    Ça devrait fonctionner.

    Citation Envoyé par petitclem Voir le message
    reimp n'est pas reconnue en tant que commande interne ou externe, ...
    Logique. Tu as pris un simple invite de commande, pas configuré pour ton compilateur. Maintenant, utilises-tu VC ou MinGW ? Pour le premier, tu as un invite tout configuré dans le menu édmarrer. Pour le second, il faut définir le PATH pour y ajouter le compilateur et ses outils (reimp étant disponible dans les extras, de mémoire).
    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 !

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    Citation:
    Envoyé par petitclem
    reimp n'est pas reconnue en tant que commande interne ou externe, ...
    Logique. Tu as pris un simple invite de commande, pas configuré pour ton compilateur. Maintenant, utilises-tu VC ou MinGW ? Pour le premier, tu as un invite tout configuré dans le menu édmarrer. Pour le second, il faut définir le PATH pour y ajouter le compilateur et ses outils (reimp étant disponible dans les extras, de mémoire).
    J'ai utilisé MinGW.
    Peux tu m'expliquer quel est le meilleur choix pour le compilateur ? Et m'expliquer comment définir le PATH ... stp ?

  11. #11
    Responsable Qt & Livres


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

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 593
    Points
    188 593
    Par défaut
    Dans le cas présent, utiliser VC te permet de te débarrasser de reimp et d'utiliser directement les fichiers sans tenter de les convertir et de mélanger deux bibliothèques standard. À part ça, pas vraiment de quoi les départager ici.

    Pour configurer le PATH, il vaut mieux apprendre à se servir de la console : http://windows.developpez.com/faq/ba...#modifier_path.
    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 !

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    ok, j'ai compris !

    Par contre, il faut que j'installe MinGW et MinGW-Utils ou il est inclus dans QT ?

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Points : 100
    Points
    100
    Par défaut
    Bonjour,

    après avoir pas mal galéré, j'ai quand même réussi à compiler le plugin MySQL pour pouvoir l'utiliser avec mon application.
    Je vous mets les étapes de cette installation :

    1/ Télecharger le zip de MySQL Win32
    2/ Dézipper l'archive à la racine
    3/ Lancer Update Qt SDK et cocher Qt 4.7.4 Sources
    4/ Ouvrir la console Qt MinGW
    5/ Se mettre dans le dossier : "chemin vers QT"\QtSDK\QtSources\4.7.4\src\plugins\sqldrivers\mysql
    6/ Executer la commande : qmake "INCLUDEPATH+=C:/mysql-5.5.20-win32/include" "LIBS+=-LC:/mysql-5.5.20-win32/lib -llibmysql" mysql.pro
    ou
    qmake "INCLUDEPATH+=C:/mysql-5.5.20-win32/include" "INCLUDEPATH+=chemin vers QT/QtSDK/Desktop/Qt/4.7.4/mingw/include/QtCore" "INCLUDEPATH+=chemin vers QT/QtSDK/Desktop/Qt/4.7.4/mingw/include/QtSql" "LIBS+=-LC:/mysql-5.5.20-win32/lib -llibmysql" mysql.pro
    7/ Taper : mingw32-make release (pour mode release) ou mingw-make debug (pour mode debug)
    8/ Taper : mingw32-make release-install (pour mode release) ou mingw-make debug-install (pour mode debug)
    9/ 1 dll a été créée soit dans le dossier debug, soit dans le dossier release du chemin vers QT"\QtSDK\QtSources\4.7.4\src\plugins\sqldrivers\mysql
    10/ Placer libmysql.dll à côté de l'exécutable
    11/ Créer un dossier sqldrivers à côté de l'exécutable et y mettre la dll compilée qsqlmysqld4.dll (pour mode debug) ou qsqlmysql4.dll (pour mode release)
    12/ Compiler votre projet en ajoutant QT += sql dans le .pro

    Merci dourouc05 pour ton aide, à bientôt!

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

Discussions similaires

  1. [Débutant] Problème connexion à une base de données MySql en C#
    Par Gogochou dans le forum Accès aux données
    Réponses: 2
    Dernier message: 20/08/2012, 10h03
  2. Réponses: 1
    Dernier message: 19/07/2007, 21h09
  3. Problème de connexion à une base de donnée MySQL
    Par casho dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 27/06/2007, 14h04
  4. [ODBC] [DB2] Problème de connexion à une base de données sur un as400 via PHP sous Linux
    Par boo64 dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 19/04/2006, 09h51
  5. Connexion à une base de données mysql via access
    Par eautret dans le forum Access
    Réponses: 2
    Dernier message: 07/04/2006, 10h02

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