web-dev-qa-db-fra.com

erreur de connexion qt 5.8 SQL: le pilote QMYSQL n'est pas chargé sur Windows 10

Lorsque j'ai essayé de me connecter à mysql, il y a une erreur:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
"Driver not loaded Driver not loaded"

Alors je l'ai googlé, et j'ai essayé:

1. Copiez les dossiers de sqldrivers dans C:\Qt\Qt5.8.0\5.8\mingw53_32\plugins 

2. Copiez libmysql.dll dans C:\Qt\Qt5.8.0\5.8\mingw53_32\bin 

mais l'erreur est toujours là.

Y a-t-il quelque chose qui me manque?

6
Xi Chen

Il existe des versions 64 bits et 32 ​​bits de libmysql.dll. La reconstruction du pilote Qt est NOT un must.

Avec la version prédéfinie de Qt5.9.1, vous devez toujours utiliser la version 32 bits, cela fonctionnait même avec la version 64 de l'installation de MySQL. sans reconstruction des plugins ou composants QT . Téléchargez le connecteur MySQL 32 bits ici

Cela a déjà été répondu ici: medasumanth answer

6
Mohammad Kanan

Cette erreur signifie généralement que le plugin Qt MySQL est correct (comme il est répertorié dans les pilotes disponibles), mais que vous n'avez pas encore la dll MySQL (empêchant ainsi le chargement du pilote).

Pour résoudre ce problème, placez libmysql.dll quelque part dans votre PATH, par exemple. ajouter le dossier d’installation de MySQL à PATH, ou copier libmysql.dll dans le même dossier que votre exe.

1
Benjamin T
  1. Vous devez reconstruire le pilote mysql.
  2. Suivez ce guide

    Remarque: vous avez besoin de 3 choses: 

    une. qt-opensource-xxx-mingw492-xxx.exe pour Qt Creator et la commande Qt Rapide.

    b.qt-everywhere-opensource-src-xxx.Zip pour le code source Qt, nécessaire pour le fichier mysql.pro . c.mysql-connector-c-6.1.10-win32.Zip nécessaire pour les dossiers lib et include.

1
dante

J'ai eu le même problème. Je pourrais résoudre le problème en suivant les conseils de Benjamin T. - Windows 10 - python 3.7 - PyQt5 - J'ai copié le fichier libmysql.dll du dossier python 3.7/lib/site-packages dans le dossier exécutable Python 3.7 et tout a commencé à fonctionner correctement!

0
Erick

Si quelqu'un est aussi stupide que moi, alors c'est pour vous: Ce que vous devriez faire, en gros, c'est 

  1. allez à https://downloads.mysql.com/archives/c-c/ et téléchargez plus précisément C !!!!!! MysqlConnector;
  2. placez "libmysql.dll" et "libmysql.lib" ("mysql-connector-c-6.1.11-winx64.Zip\mysql-connector-c-6.1.11-winx64\lib") dans "c:\path_to_qt\qt_version\your_compiler\bin\"pour moi, cela ressemblait à" c:\Qt\5.12.1\mingw73_64\bin\";
  3. reload creator et voila votre pilote mysql est parfaitement chargé;

Donc, fondamentalement, pour ceux qui veulent comprendre ce qui s’est passé ici:

Ce plugin "qsqlmysql" est essentiellement une interface qt qui utilise les méthodes de connecteur mysql-C . Malheureusement, ce connecteur n'est pas distribué avec Qt, vous devez donc le fournir vous-même. 

Si vous souhaitez distribuer votre logiciel, vous devez copier "libmysql.dll" dans le dossier contenant votre fichier ".exe".

J'espère que cela aidera quelqu'un à gagner du temps (3 heures pour moi :)).

0
APetrovsky