QSqlDatabase: QMYSQL driver not loaded
-
@Christian-Ehrlicher thanks for your answer. I compiled the plugin with the command: qt-cmake -G Ninja C:\Qt\6.0.0\Src\qtbase\src\plugins\sqldrivers -DMySQL_INCLUDE_DIR="C:\mysql-8.0.22-winx64\include" -DMySQL_LIBRARY="C:\mysql-8.0.22-winx64\lib\libmysql.lib" -DCMAKE_INSTALL_PREFIX="C:\Qt\6.0.0\mingw81_64"
but still nothing has changed. it compiled without errors, but I still get the same error in Qt creator. Please do you have futher ideas regarding this issue I am facing? I am also researching it online.
-
As I suggested, did you install the plugin ?
-
Hi, please be careful with your versions of Qt:
- you use Qt 5.15.2 for the debug build
(C:/Users/Nelson/Documents/CP/build-DatabaseConn-Desktop_Qt_5_15_2_MSVC2019_64bit-Debug/debug/) - 'C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/ as the place where Qt looks for the MySQL plugin
- C:\Qt\6.0.0\Src\qtbase\src\plugins\sqldrivers is where you build it from (and installing to C:\Qt\6.0.0\mingw81_64)
Don't know if that's the cause of the problems but it will help to only use one version of Qt for everything :-)
- you use Qt 5.15.2 for the debug build
-
@SGaist the errors I am getting
qt.core.plugin.factoryloader: Got keys from plugin meta data QList("QPSQL")
qt.core.plugin.factoryloader: checking directory path "C:/Users/user/Documents/CP/build-DatabaseConnection-Desktop_Qt_6_4_0_MSVC2019_64bit-Debug/debug/sqldrivers" ...
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QPSQL
No Connectionqt.core.plugin.factoryloader: checking directory path "C:/Qt/6.4.0/msvc2019_64/plugins/accessiblebridge" ...
qt.core.plugin.factoryloader: checking directory path "C:/Users/user/Documents/CP/build-DatabaseConnection-Desktop_Qt_6_4_0_MSVC2019_64bit-Debug/debug/accessiblebridge" ...any help would be greatly appreciated.
-
@AlexFr said in QSqlDatabase: QMYSQL driver not loaded:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QPSQLYour output show no sign/mention of finding any QMYSQL plugin anywhere (where it is looking). So what file(s) do you have where for plugins with regard to QMYSQL? It looks like either there is nothing at all, so it cannot even try to load it, or there is some output earlier in the diagnostic relating to QMYSQL which you are not showing.
-
@JonB in this folder "C:\Qt\6.4.0\mingw_64\plugins\sqldrivers", I have "qsqlmysql.dll" and "qsqlmysql.debug", amongst other files. I built the plugin using:
"
mkdir build-sqldrivers
cd build-sqldriversqt-cmake -G Ninja <qt_installation_path>\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path><platform> -DMySQL_INCLUDE_DIR="C:\mysql-8.0.22-winx64\include" -DMySQL_LIBRARY="C:\mysql-8.0.22-winx64\lib\libmysql.lib"
cmake --build .
cmake --install .
" -
@hskoglund said in QSqlDatabase: QMYSQL driver not loaded:
'C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/ as the place where Qt looks for the MySQL plugin
C:\Qt\6.0.0\Src\qtbase\src\plugins\sqldrivers is where you build it from (and installing to C:\Qt\6.0.0\mingw81_64)@AlexFr said in QSqlDatabase: QMYSQL driver not loaded:
@JonB in this folder "C:\Qt\6.4.0\mingw_64\plugins\sqldrivers", I have "qsqlmysql.dll" and "qsqlmysql.debug"
Seems to me you have a mix-up/mismatch betwenn these paths, not to mention whether you are using MinGW versus MSVC. Sort out what you are using from where, for sure. That is all I know.
-
Hi, you can try building your app in Release mode (not Debug), perhaps the release mode version of the QMySQL plugin you built will be picked up better than the debug version.
Also please include all of the output from QT_DEBUG_PLUGINS, not just a single line... -
@hskoglund Hi. Thanks for the answer. I tried that, still I get the same errors. I can post the errors of course.
qt.core.plugin.factoryloader: checking directory path "C:/Qt/6.4.0/msvc2019_64/plugins/platforms" ...
qt.core.plugin.factoryloader: looking at "C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qdirect2d.dll"
qt.core.plugin.loader: Found metadata in lib C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qdirect2d.dll, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"direct2d"
]
},
"archlevel": 1,
"className": "QWindowsDirect2DIntegrationPlugin",
"debug": false,
"version": 394240
}qt.core.plugin.factoryloader: Got keys from plugin meta data QList("direct2d")
qt.core.plugin.factoryloader: looking at "C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qdirect2dd.dll"
qt.core.plugin.loader: Found metadata in lib C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qdirect2dd.dll, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"direct2d"
]
},
"archlevel": 1,
"className": "QWindowsDirect2DIntegrationPlugin",
"debug": true,
"version": 394240
}qt.core.plugin.factoryloader: "The plugin 'C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qdirect2dd.dll' uses incompatible Qt library. (Cannot mix debug and release libraries.)"
not a plugin
qt.core.plugin.factoryloader: looking at "C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qminimal.dll"
qt.core.plugin.loader: Found metadata in lib C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qminimal.dll, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"minimal"
]
},
"archlevel": 0,
"className": "QMinimalIntegrationPlugin",
"debug": false,
"version": 394240
}qt.core.plugin.factoryloader: Got keys from plugin meta data QList("minimal")
qt.core.plugin.factoryloader: looking at "C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qminimald.dll"
qt.core.plugin.loader: Found metadata in lib C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qminimald.dll, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"minimal"
]
},
"archlevel": 0,
"className": "QMinimalIntegrationPlugin",
"debug": true,
"version": 394240
}qt.core.plugin.factoryloader: "The plugin 'C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qminimald.dll' uses incompatible Qt library. (Cannot mix debug and release libraries.)"
not a plugin
qt.core.plugin.factoryloader: looking at "C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qoffscreen.dll"
qt.core.plugin.loader: Found metadata in lib C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qoffscreen.dll, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"offscreen"
]
},
"archlevel": 0,
"className": "QOffscreenIntegrationPlugin",
"debug": false,
"version": 394240
}qt.core.plugin.factoryloader: Got keys from plugin meta data QList("offscreen")
qt.core.plugin.factoryloader: looking at "C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qoffscreend.dll"
qt.core.plugin.loader: Found metadata in lib C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qoffscreend.dll, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"offscreen"
]
},
"archlevel": 0,
"className": "QOffscreenIntegrationPlugin",
"debug": true,
"version": 394240
}qt.core.plugin.factoryloader: "The plugin 'C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qoffscreend.dll' uses incompatible Qt library. (Cannot mix debug and release libraries.)"
not a plugin
qt.core.plugin.factoryloader: looking at "C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qwindows.dll"
qt.core.plugin.loader: Found metadata in lib C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qwindows.dll, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"windows"
]
},
"archlevel": 0,
"className": "QWindowsIntegrationPlugin",
"debug": false,
"version": 394240
}qt.core.plugin.factoryloader: Got keys from plugin meta data QList("windows")
qt.core.plugin.factoryloader: looking at "C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qwindowsd.dll"
qt.core.plugin.loader: Found metadata in lib C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qwindowsd.dll, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"windows"
]
},
"archlevel": 0,
"className": "QWindowsIntegrationPlugin",
"debug": true,
"version": 394240
}qt.core.plugin.factoryloader: "The plugin 'C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qwindowsd.dll' uses incompatible Qt library. (Cannot mix debug and release libraries.)"
not a plugin
qt.core.plugin.factoryloader: checking directory path "C:/Users/user/Documents/CP/build-DatabaseConnection-Desktop_Qt_6_4_0_MSVC2019_64bit-Release/release/platforms" ...
qt.core.library: "C:/Qt/6.4.0/msvc2019_64/plugins/platforms/qwindows.dll" loaded library
qt.core.plugin.factoryloader: checking directory path "C:/Qt/6.4.0/msvc2019_64/plugins/platformthemes" ...
qt.core.plugin.factoryloader: checking directory path "C:/Users/user/Documents/CP/build-DatabaseConnection-Desktop_Qt_6_4_0_MSVC2019_64bit-Release/release/platformthemes" ...
qt.core.plugin.factoryloader: checking directory path "C:/Qt/6.4.0/msvc2019_64/plugins/styles" ...
qt.core.plugin.factoryloader: looking at "C:/Qt/6.4.0/msvc2019_64/plugins/styles/qwindowsvistastyle.dll"
qt.core.plugin.loader: Found metadata in lib C:/Qt/6.4.0/msvc2019_64/plugins/styles/qwindowsvistastyle.dll, metadata=
{
"IID": "org.qt-project.Qt.QStyleFactoryInterface",
"MetaData": {
"Keys": [
"windowsvista"
]
},
"archlevel": 0,
"className": "QWindowsVistaStylePlugin",
"debug": false,
"version": 394240
}qt.core.plugin.factoryloader: Got keys from plugin meta data QList("windowsvista")
qt.core.plugin.factoryloader: looking at "C:/Qt/6.4.0/msvc2019_64/plugins/styles/qwindowsvistastyled.dll"
qt.core.plugin.loader: Found metadata in lib C:/Qt/6.4.0/msvc2019_64/plugins/styles/qwindowsvistastyled.dll, metadata=
{
"IID": "org.qt-project.Qt.QStyleFactoryInterface",
"MetaData": {
"Keys": [
"windowsvista"
]
},
"archlevel": 0,
"className": "QWindowsVistaStylePlugin",
"debug": true,
"version": 394240
}qt.core.plugin.factoryloader: "The plugin 'C:/Qt/6.4.0/msvc2019_64/plugins/styles/qwindowsvistastyled.dll' uses incompatible Qt library. (Cannot mix debug and release libraries.)"
not a plugin
qt.core.plugin.factoryloader: checking directory path "C:/Users/user/Documents/CP/build-DatabaseConnection-Desktop_Qt_6_4_0_MSVC2019_64bit-Release/release/styles" ...
qt.core.library: "C:/Qt/6.4.0/msvc2019_64/plugins/styles/qwindowsvistastyle.dll" loaded library
qt.core.plugin.factoryloader: checking directory path "C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers" ...
qt.core.plugin.factoryloader: looking at "C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/qsqlite.dll"
qt.core.plugin.loader: Found metadata in lib C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/qsqlite.dll, metadata=
{
"IID": "org.qt-project.Qt.QSqlDriverFactoryInterface",
"MetaData": {
"Keys": [
"QSQLITE"
]
},
"archlevel": 0,
"className": "QSQLiteDriverPlugin",
"debug": false,
"version": 394240
}qt.core.plugin.factoryloader: Got keys from plugin meta data QList("QSQLITE")
qt.core.plugin.factoryloader: looking at "C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/qsqlited.dll"
qt.core.plugin.loader: Found metadata in lib C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/qsqlited.dll, metadata=
{
"IID": "org.qt-project.Qt.QSqlDriverFactoryInterface",
"MetaData": {
"Keys": [
"QSQLITE"
]
},
"archlevel": 0,
"className": "QSQLiteDriverPlugin",
"debug": true,
"version": 394240
}qt.core.plugin.factoryloader: "The plugin 'C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/qsqlited.dll' uses incompatible Qt library. (Cannot mix debug and release libraries.)"
not a plugin
qt.core.plugin.factoryloader: looking at "C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/qsqlmysql.dll"
qt.core.plugin.loader: Found metadata in lib C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/qsqlmysql.dll, metadata=
{
"IID": "org.qt-project.Qt.QSqlDriverFactoryInterface",
"MetaData": {
"Keys": [
"QMYSQL",
"QMARIADB"
]
},
"archlevel": 2,
"className": "QMYSQLDriverPlugin",
"debug": false,
"version": 394240
}qt.core.plugin.factoryloader: Got keys from plugin meta data QList("QMYSQL", "QMARIADB")
qt.core.plugin.factoryloader: looking at "C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/qsqlodbc.dll"
qt.core.plugin.loader: Found metadata in lib C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/qsqlodbc.dll, metadata=
{
"IID": "org.qt-project.Qt.QSqlDriverFactoryInterface",
"MetaData": {
"Keys": [
"QODBC"
]
},
"archlevel": 0,
"className": "QODBCDriverPlugin",
"debug": false,
"version": 394240
}qt.core.plugin.factoryloader: Got keys from plugin meta data QList("QODBC")
qt.core.plugin.factoryloader: looking at "C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/qsqlodbcd.dll"
qt.core.plugin.loader: Found metadata in lib C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/qsqlodbcd.dll, metadata=
{
"IID": "org.qt-project.Qt.QSqlDriverFactoryInterface",
"MetaData": {
"Keys": [
"QODBC"
]
},
"archlevel": 0,
"className": "QODBCDriverPlugin",
"debug": true,
"version": 394240
}qt.core.plugin.factoryloader: "The plugin 'C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/qsqlodbcd.dll' uses incompatible Qt library. (Cannot mix debug and release libraries.)"
not a plugin
qt.core.plugin.factoryloader: looking at "C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/qsqlpsql.dll"
qt.core.plugin.loader: Found metadata in lib C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/qsqlpsql.dll, metadata=
{
"IID": "org.qt-project.Qt.QSqlDriverFactoryInterface",
"MetaData": {
"Keys": [
"QPSQL"
]
},
"archlevel": 0,
"className": "QPSQLDriverPlugin",
"debug": false,
"version": 394240
}qt.core.plugin.factoryloader: Got keys from plugin meta data QList("QPSQL")
qt.core.plugin.factoryloader: looking at "C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/qsqlpsqld.dll"
qt.core.plugin.loader: Found metadata in lib C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/qsqlpsqld.dll, metadata=
{
"IID": "org.qt-project.Qt.QSqlDriverFactoryInterface",
"MetaData": {
"Keys": [
"QPSQL"
]
},
"archlevel": 0,
"className": "QPSQLDriverPlugin",
"debug": true,
"version": 394240
}qt.core.plugin.factoryloader: "The plugin 'C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/qsqlpsqld.dll' uses incompatible Qt library. (Cannot mix debug and release libraries.)"
not a plugin
qt.core.plugin.factoryloader: checking directory path "C:/Users/user/Documents/CP/build-DatabaseConnection-Desktop_Qt_6_4_0_MSVC2019_64bit-Release/release/sqldrivers" ...
qt.core.library: "C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/qsqlmysql.dll" cannot load: Cannot load library C:\Qt\6.4.0\msvc2019_64\plugins\sqldrivers\qsqlmysql.dll: Das angegebene Modul wurde nicht gefunden.
qt.core.plugin.loader: QLibraryPrivate::loadPlugin failed on "C:/Qt/6.4.0/msvc2019_64/plugins/sqldrivers/qsqlmysql.dll" : "Cannot load library C:\Qt\6.4.0\msvc2019_64\plugins\sqldrivers\qsqlmysql.dll: Das angegebene Modul wurde nicht gefunden."
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMARIADB QMYSQL QODBC QPSQL
No Connection
qt.core.plugin.factoryloader: checking directory path "C:/Qt/6.4.0/msvc2019_64/plugins/accessiblebridge" ...
qt.core.plugin.factoryloader: looking at "C:/Qt/6.4.0/msvc2019_64/plugins/accessiblebridge/qsqlmysql.dll"
qt.core.plugin.loader: Found metadata in lib C:/Qt/6.4.0/msvc2019_64/plugins/accessiblebridge/qsqlmysql.dll, metadata=
{
"IID": "org.qt-project.Qt.QSqlDriverFactoryInterface",
"MetaData": {
"Keys": [
"QMYSQL",
"QMARIADB"
]
},
"archlevel": 2,
"className": "QMYSQLDriverPlugin",
"debug": false,
"version": 394240
}qt.core.plugin.factoryloader: Got keys from plugin meta data QList()
qt.core.plugin.factoryloader: checking directory path "C:/Users/user/Documents/CP/build-DatabaseConnection-Desktop_Qt_6_4_0_MSVC2019_64bit-Release/release/accessiblebridge" ... -
Hi, the output looks good, only one more step should remain, you need to copy the mysql driver dll to the same folder as where your app .exe file is.
The driver dll file is called libmysql.dll and it should be in the C:\Program Files\MySQL\MySQL Server 8.0\lib (provided that you've installed the 64-bit MySQL Installer 8.0.22)
So if I'm guessing correctly then the copy command is:
copy "C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.dll" C:\Users\user\Documents\CP\build-DatabaseConnection-Desktop_Qt_6_4_0_MSVC2019_64bit-Release\release
If you cannot find it (or haven't installed the MyQSL Installer) then there are plenty of alternatives for downloading that libmysql.dll file, for example here
-
Hi, even though you successfully copied libmysql.dll to where your .exe file is, perhaps it still fails because the .dlls that libmysql.dll depend on are not in your path. The files are libssl-1_1-x64.dll and libcrypto-1_1-x64.dll.
They also need to be copied to the same directory where your .exe file is, try (note: I'm guessing where they are on your PC):
copy C:\mysql-8.0.22-winx64\lib\libssl-1_1-x64.dll C:\Users\user\Documents\CP\build-DatabaseConnection-Desktop_Qt_6_4_0_MSVC2019_64bit-Release\release
and
copy C:\mysql-8.0.22-winx64\lib\libcrypto-1_1-x64.dll C:\Users\user\Documents\CP\build-DatabaseConnection-Desktop_Qt_6_4_0_MSVC2019_64bit-Release\release
P.S. If it still fails, could you post a directory listing of the files in the directory where your .exe file is, I'm guessing it is: C:\Users\user\Documents\CP\build-DatabaseConnection-Desktop_Qt_6_4_0_MSVC2019_64bit-Release\release?
Edit: googled a bit more, there's an easier way to fix those 2 missing .dlls: install the MySQL Community Downloads MySQL Installer for Windows It's free but it requires an Oracle login :-( but perhaps you already have one)