Partage
  • Partager sur Facebook
  • Partager sur Twitter

Qt MySQL Driver

QMYSQL Driver not loaded

Sujet résolu
    16 mars 2018 à 18:25:40

    Hello,

    Pour un projet personnel j'essaie de connecter une base de donnée à mon application. Seulement voilà, il ne trouve pas le driver. J'ai bien entendu été lire la doc à ce sujet mais j'ai dû faire une erreur quelque part parce que je n'arrive à rien. Après moults recherches sur le net j'ai lu à peu près tout et n'importe quoi et j'ai testé des tas de trucs, sans succès.

    Donc si quelqu'un avait déjà été confronté au même problème et souhaiterait partager son savoir avec moi je lui en serai très reconnaissant !

    Si cela peu aider :

    J'utilise Windows 7, 64 bits, les drivers de mon compilateur Qt sont installés à cette adresse : E:/Qt/5.9/mingw53_32/plugins/sqldrivers/

    Les librairies de MySQL sont à cette adresse : G/Programmes/MySQL/lib/

    Merci d'avoir pris le temps de me lire et bonne soirée !

    • Partager sur Facebook
    • Partager sur Twitter
      16 mars 2018 à 19:12:42

      De mémoire, il y a un driver ODBC fourni avec MySQL, sous Windows c'est plus simple d'attaquer ta base en ODBC, tu crées un DSN ODBC et tu te connectes en ODBC (type de base de données QtODBC, il est inclus de base dans les distro Windows de Qt). Il n'y a que ça à changer dans ton programme pour pas avoir à te faire chier avec le driver MySQL.
      • Partager sur Facebook
      • Partager sur Twitter
      Mettre à jour le MinGW Gcc sur Code::Blocks. Du code qui n'existe pas ne contient pas de bug
        16 mars 2018 à 23:17:40

        Problème récurrent sur ce forum qui n'a toujours pas trouvé de solution. C'est d'ailleurs étonnant car il s'agit d'une configuration pas trop exotique.

        Je suis également à l’affût d'une solution depuis un bon moment déjà.

        • Partager sur Facebook
        • Partager sur Twitter
          17 mars 2018 à 6:03:21

          @zoup: Dans l'univers Windows, la bdd historique est SQLServer. M$ a proposé il y a assez longtemps une interface bas niveau pour accéder à une base de données (ODBC). La plupart des fournisseurs de bases de données ont développé un driver ODBC pour les versions Windows de leur SGBD. Sous Windows, lorsqu'on parle de bdd, l'option ODBC est souvent la moins compliquée à mettre en oeuvre.
          • Partager sur Facebook
          • Partager sur Twitter
          Mettre à jour le MinGW Gcc sur Code::Blocks. Du code qui n'existe pas ne contient pas de bug
            17 mars 2018 à 11:49:49

            Merci pour ces précisions int21. Le problème, c'est qu'à l'origine, je voulais me connecter à la base de données depuis une Raspberry Pi, donc avec un OS GNU/Linux.

            J'avais également testé sous Windows sans succès.

            PS: ma réponse précédente prêtait à confusion car il manquait une virgule après forum (comme quoi la ponctuation ...). Bref, celui qui n'avait pas trouvé de solution n'était pas le forum, mais le problème lui-même  ;-)

            -
            Edité par zoup 17 mars 2018 à 11:51:17

            • Partager sur Facebook
            • Partager sur Twitter
              17 mars 2018 à 12:00:13

              Ok merci int21h, je vais regarder ça. Je reviendrai poster ici si cela fonctionne.
              • Partager sur Facebook
              • Partager sur Twitter
                17 mars 2018 à 16:33:49

                Généralement, recompilé le driver SQL de Qt est suffisant. Regarde dans la partie "source" de Qt, tu devrais trouver ce que tu cherches. Tu récupéreras les dll nécessaire. ça s'appelle un truc du style mysql_driver ou un truc dans le genre ;)

                • Partager sur Facebook
                • Partager sur Twitter
                http://cpp-rendering.io : Vous trouverez tout ce dont vous avez besoin sur Vulkan / OpenGL et le rendu 3D !
                  18 mars 2018 à 11:27:09

                  Salut, voici les étapes à suivre sur windows :

                  Positionne-toi avec le cmd dans E:\Qt\Qt5.9\Src\qtbase\src\plugins\sqldrivers\mysql

                  Entre la commande: qmake “INCLUDEPATH+= G/Programmes/MySQL/include” “LIBS+=-L G/Programmes/MySQL/lib/ -llibmysql” mysql.pro

                  mingw32-make

                  mingw32-make install

                  Ajouter .dll de « G/Programmes/MySQL/lib/ » dans votre projet

                  -
                  Edité par Yacinoben 18 mars 2018 à 14:02:13

                  • Partager sur Facebook
                  • Partager sur Twitter
                    19 mars 2018 à 16:02:32

                    Yacinoben a écrit:

                    Salut, voici les étapes à suivre sur windows :

                    Positionne-toi avec le cmd dans E:\Qt\Qt5.9\Src\qtbase\src\plugins\sqldrivers\mysql

                    Entre la commande: qmake “INCLUDEPATH+= G/Programmes/MySQL/include” “LIBS+=-L G/Programmes/MySQL/lib/ -llibmysql” mysql.pro

                    mingw32-make

                    mingw32-make install

                    Ajouter .dll de « G/Programmes/MySQL/lib/ » dans votre projet

                    -
                    Edité par Yacinoben hier à 14:02

                    J'avais déjà vu cette solution quelque part, mais malheureusement je n'ai trouvé aucun dossier mysql dans qt, pas plus qu'un fichier mysql.pro. Je ne pense pas que cette solution soit toujours valable aujourd'hui. Les posts sur les forums qui en parlaient dataient tous de plus de 3 ans.

                    Je creuse actuellement du côté des drivers ODBC même si je trouve exaspérant de ne pas pouvoir utiliser les drivers prévu pour MySQL ....

                    Qnope a écrit:

                    Généralement, recompilé le driver SQL de Qt est suffisant. Regarde dans la partie "source" de Qt, tu devrais trouver ce que tu cherches. Tu récupéreras les dll nécessaire. ça s'appelle un truc du style mysql_driver ou un truc dans le genre ;)

                    Je trouve bien des fichiers dans ce genre, mais seulement pour les versions antérieur à la 5.8. Ils ont probablement dû modifier l'architecture de l'application.

                    Aïe aïe, quelle galère quand même. Merci de votre aide !

                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 mars 2018 à 14:14:37

                      J'utilise Qt 5.10, et j'ai le dossier que vous avez mentionné. Es que vous avez installé les sources de Qt ?
                      C:\Qt\5.10.0\Src\qtbase\src\plugins\sqldrivers\mysql

                      -
                      Edité par Yacinoben 20 mars 2018 à 14:15:26

                      • Partager sur Facebook
                      • Partager sur Twitter
                        6 avril 2018 à 10:52:00

                        Désolé du temps de réponse, je suis finalement arrivé à me connecter à ma base de donnée via le driver ODBC, c'est donc tout bon. Merci à tous.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          19 avril 2018 à 21:46:14

                          @echo off
                          echo Setting up environment forQt usage...

                          set QTDIR=C:\Qt\qt 5.10.1\5.10.1\migw53_32
                          set MINGW=C:\Qt\qt 5.10.1\Tools\mingw530_32
                          set MYSQLCONNECTORDIR=C:\Qt\qt 5.10.1\MYSQL

                          echo Download mysql connector
                          mkdir %MYSQLCONNECTORDIR%
                          cd %MYSQLCONNECTORDIR%
                          powershell -Command"Invoke-WebRequest https://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-6.1.11-win32.zip -OutFile mysql-connector-c-6.1.11-win32.zip"
                          unzip -d mysql-connector-c-6.1.11-win32.zip
                          powershell.exe -nologo -noprofile -command "& { $shell = New-Object -COM Shell.Application; $target = $shell.NameSpace($env:MYSQLCONNECTORDIR); $zip = $shell.NameSpace($env:MYSQLCONNECTORDIR + '\mysql-connector-c-6.1.11-win32.zip'); $target.CopyHere($zip.Items(), 16); }"

                          set PATH=%QTDIR%\bin;%MINGW%\bin;%PATH%
                          cd /D %QTDIR%
                          cd ..\Src\qtbase\src\plugins\sqldrivers\mysql
                          qmake -- MYSQL_INCDIR=%MYSQLCONNECTORDIR%\include "MYSQL_LIBDIR=%MYSQLCONNECTORDIR%\lib"
                          qmake "INCLUDEPATH+=%MYSQLCONNECTORDIR%\\mysql-connector-c-6.1.11-win32\\include""LIBS+=%MYSQLCONNECTORDIR%\\mysql-connector-c-6.1.11-win32\\lib\\libmysql.lib" mysql.pro
                          mingw32-make
                          mingw32-make install
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Qt MySQL Driver

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown