QSqlDatabase: QMYSQL driver not loaded available drivers: QMYSQL
-
@fennec Use dependencywalker to find out which dll's are missing. Check for qsqlmysql dll.
-
@p3c0 I used the dependenctwalker as these are the missing .dll's but its not anything to do with mysql
API-MS-WIN-APPMODEL-RUNTIME-L1-1-0.DLL API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL API-MS-WIN-CORE-WINRT-L1-1-0.DLL API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL API-MS-WIN-SHCORE-SCALING-L1-1-1.DLL DCOMP.DLL IESHIMS.DLL
I used Profiling and when I click the button that calls the mysql to connect i get this:
Loaded "QSQLMYSQLD.DLL" at address 0x000000006AD80000. Successfully hooked module. Unloaded "QSQLMYSQLD.DLL" at address 0x000000006AD80000. LoadLibraryW("E:\Qt\5.4\msvc2013_64\plugins\sqldrivers\qsqlmysqld.dll") returned NULL. Error: %1 is not a valid Win32 application (193). QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
I have qsqlmysqld.dll in that folder.
-
Hi,
is the mysqlclient.dll in your PATH??
Which compiler/kit are you using?
May help?? https://forum.qt.io/topic/53247/solved-qtsql-and-xampp-mysql-qmysqldriver-not-loaded/6
-
@mcosta I have now added the lib of XMAPP and MYSQL server to path and Path still the same problem.
I am currently using: Desktop QT 5.4.1 MSVC2013 64bit
My other option is: Desktop QT 5.4.1 MSVC2010 OpenGL 32bit, but this give the error: LNK1104: cannot open file 'libmysql.lib' -
@mcosta the mysqlclient lib is in: C:\Program Files\MySQL\MySQL Server 5.6\lib
This is User Variables:
C:\Program Files\MySQL\MySQL Server 5.6\lib E:\Qt\5.4\mingw491_32\plugins\sqldrivers C:\WINDOWS\ E:\Python27 %CommonProgramFiles%\Microsoft Shared\Windows Live E:\xampp\mysql\lib
This is System Variables:
C:\Program Files\MySQL\MySQL Server 5.6\lib E:\xampp\mysql\lib C:\ProgramData\Oracle\Java\javapath E:\Program Files\Microsoft Solver Foundation\3.0.2.10889\Plugins C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common %CommonProgramFiles%\Microsoft Shared\Windows Live C:\Program Files (x86)\Intel\iCLS Client\ C:\Program Files\Intel\iCLS Client\ C:\Windows\system32 C:\Windows C:\Windows\System32\Wbem C:\Windows\System32\WindowsPowerShell\v1.0\ C:\Program Files\Intel\Intel(R) Management Engine Components\DAL C:\Program Files\Intel\Intel(R) Management Engine Components\IPT C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\ C:\Program Files\Microsoft SQL Server\100\Tools\Binn\ C:\Program Files\Microsoft SQL Server\100\DTS\Binn\ C:\Program Files\TortoiseSVN\bin C:\Program Files\Microsoft SQL Server\110\Tools\Binn\ C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\ C:\Program Files\Microsoft SQL Server\120\Tools\Binn\ E:\xampp\php C:\ProgramData\ComposerSetup\bin C:\Program Files (x86)\Skype\Phone\ C:\Program Files\MySQL\MySQL Server 5.6\lib E:\Qt\5.4\mingw491_32\plugins\sqldrivers
-
-
@mcosta I have libmysql.lib in both folders
I used the mysql 5.6.24 server to make the files which is the latest version.
Since I cant use the 32bit driver for the 64bit. [ill look into making the 64bit later]
the 32bit version i cannnot build as it give the error: LNK1104: cannot open file 'libmysql.lib'
I used 'Add Library...' to add libmysql.lib and is put this in the .pro file
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/C:/Program Files/MySQL/MySQL Server 5.6/lib/ -llibmysql else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/C:/Program Files/MySQL/MySQL Server 5.6/lib/ -llibmysqld else:unix: LIBS += -L$$PWD/C:/Program Files/MySQL/MySQL Server 5.6/lib/ -llibmysql INCLUDEPATH += $$PWD/C:/Program Files/MySQL/MySQL Server 5.6/include DEPENDPATH += $$PWD/C:/Program Files/MySQL/MySQL Server 5.6/include
but still give the same error.
-
It should be
-lmysql
-
@SGaist
-lmysql
didnt help sorry.
@mcosta I built the driver myself, using the mysql server 5.6 to build the program 32bit
currently im making a vmware station of linux and win7 clean installs and install qt and mysql on that and try it out.
though i have been busy the last couple of days this may take some time. -
One thing's not clear, are you trying to build the plugin against the embedded MySQL server ?
-
@fennec As I said in a previous post you should check that the MySQL version you're using to build the Qt Driver is in 32bit because you're using a 32bit Qt version.
And really I don't understand why you have two different version of MySQL installed on your machine
-
Hello everybody!
Firstly I'm sorry for resurrecting the thread, but my question is the same of the OP and I don't want to create a new one topic for the same problem.Let me state what's happening with me:
I have Qt 5.7 and also MySQL 5.5 installed on my PC, I'm using mysql database on my program and it works... I do everything with it, read and write on database. No problem here.When I deploy the app using the 'windeployqt' it generates all the dlls needed to the program run BUT the database don't connects and I get the error "Driver not loaded"... Crazy..
The mysql server is running and accessible for external connections. I'm connected on it by MySQL Workbench, so.. it's not about the access, its the driver...
I really don't understand how it works on my PC and the deploied program doesn't.
Please help me!
-
Hi @SGaist, thanks.
Yes, there are the qsqlmysql.dll on sqldrivers folder, and I copied manually the libmysql.dll to the exe folder and the sqldriver folder.
Thing is, the app run on my computer, where I'm compiling and deploying from the deploied folder but I copied the whole program folder to my girlfriend's pc and I get the 'Driver not loaded' error.
I also installed the MySQL Connector C on it, but.. nothing.
Just to make sure I have those dlls on sqldriver folder:
libmysql
qsqlite
qsqlmysql
qsqlmysql4
qsqlodbc
qsqlpsqlThe program just doesn't connect to the database because of drivers.
I can't figure out what to do now :( -
Run Dependency Walker on the plugin to see if it finds anything.
You can also start the application in command line window and use QT_DEBUG_PLUGINS environment variable. That should give you more hints about what is going on.
-
@SGaist said in [Solved] QSqlDatabase: QMYSQL driver not loaded available drivers: QMYSQL:
Run Dependency Walker on the plugin to see if it finds anything.
You can also start the application in command line window and use QT_DEBUG_PLUGINS environment variable. That should give you more hints about what is going on.
Running Dependency Walker on the exe ?
If yes, here is it:
Maybe are the microsoft runtimes missing? Or anything else? I saw that the dll IESHIMS.dll was missing, I found it on Internet Explorer's folder and copied to the exe folder, but still not working.. the app loads but with the 'Driver not found' error..
Thats turning my hairs into grey lol