la base de bonne sur qt
-
@SGaist Non tout semble bien terminé il m'a afficher aucun erreur.
Mais quand je compilé le programme il a aucun différence il m'afficheQSqlDatabase: MySQL driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC QPSQL "Échec de connexion Driver not loaded Driver not loaded."
Rien a changé
-
@SGaist merci pour votre réponse ☺️
Enfaite je sais pas trop mais j'ai suivie le tutoriel et j'ai tout terminé mais le problème n'a pas changé.
J'ai le fichier qsqlmysql.dll surC:/Qt/6.6.0/src/windows/plugins/sqldrivers/qsqlmysql.dll
Est-ce que je dois faire encore ?
-
Est-ce que la librairie client de MySQL est trouvable au travers de la variable d'environnement PATH ? Celle-ci peut être modifiée dans Qt Creator, dans les paramètres d'exécution du projet.
Dans tous les cas, démarrer l'application avec la variable d'environnement QT_DEBUG_PLUGINS à 1 permet d'avoir plus d'information sur ce qui se passe.
-
@SGaist Merci pour votre réponse
Il m'affiche plusieurs infos mais c'est ça qui nous intéresse nonqt.core.plugin.factoryloader: Got keys from plugin méta data Qlist("QPSQL") qt.core.plugin.factoryloader: checking directory Pathé "A:/Qt-Projet/build-Pd-Desktop_Qt_6_6_0_MinGW_64_bit-Debug/debug/sqldrivers" ...
QSqlDatabase: QMYSQL driver loaded QSqlDatabase :available drivers: QSLITE QMIMER QODBC QPSQL
Mais si je copie le dll
C:/Qt/6.6.0/src/windows/plugins/sqldrivers/qsqlmysql.dll
sur
C:\Qt\6.6.0\mingw_64\plugins\sqldrivers
ça m'affiche
qt.core.plugin.factoryloader: Got keys from plugin meta data QList("QPSQL") qt.core.plugin.factoryloader: checking directory path "A:/Qt-Projet/build-Pd-Desktop_Qt_6_6_0_MinGW_64_bit-Debug/debug/sqldrivers" ... qt.core.library: "C:/Qt/6.6.0/mingw_64/plugins/sqldrivers/qsqlmysql.dll" cannot load: Impossible de charger la bibliothèque C:\Qt\6.6.0\mingw_64\plugins\sqldrivers\qsqlmysql.dll : %1 n’est pas une application Win32 valide. qt.core.plugin.loader: QLibraryPrivate::loadPlugin failed on "C:/Qt/6.6.0/mingw_64/plugins/sqldrivers/qsqlmysql.dll" : "Impossible de charger la bibliothèque C:\\Qt\\6.6.0\\mingw_64\\plugins\\sqldrivers\\qsqlmysql.dll : %1 n’est pas une application Win32 valide." QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMIMER QMARIADB QMYSQL QODBC QPSQL
Merci
-
C'est cette étape de copie qui manquait.
Il faut compiler le plugin pour debug et release et les copier ensuite.
-
Pour autant que je me souvienne correctement, cmake ne fait pas les deux compilations en même temps.
Pour assurer de tout avoir, je recommande de faire un second build avec
-DCMAKE_BUILD_TYPE=Debug
ajouté lors de la configuration. -
@SGaist Merci pour votre réponse
Le voici ça m'a surpris#include "qsqldatabase.h" #include <QApplication> #include <QMessageBox> int main(int argc, char *argv[]) { QApplication a(argc, argv); QMessageBox message; QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); //db.setDatabaseName("test"); db.setUserName("WinAdmin"); db.setPassword("MySQL@2022"); bool ok = db.open(); if(ok) { message.information(nullptr, "Message", "Base de bonne charger"); } else { message.critical(nullptr, "erreur", "Impossible d'ouvrire"); } return a.exec(); }
C:/Qt/6.6.0/mingw_64/include/QtCore/qmetatype.h\u0000qRegisterNormalizedMetaType was called with a not normalized type name, please call qRegisterMetaType instead
Je crois que le problème viens de la