QSqlDatabase: QMYSQL driver not loaded available drivers: QMYSQL



  • @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'



  • Just to be sure:

    1. In which directory is the mysqlclient library?
    2. can you post the %PATH% contents?


  • @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
    


  • Hi,

    do you have mysql both in C:\Program Files\MySQL\MySQL Server 5.6\lib and E:\xampp\mysql\lib ??

    Which version of MySQL do you used to build the Qt driver?
    Keep in mind that the MinGW version of Qt is built in 32bit so you cannot load 64bit libraries



  • @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.


  • Lifetime Qt Champion

    It should be -lmysql



  • IIRC (sorry now I'm on Mac) in Windows you need to quote paths if they contain spaces.



  • Have you built the Qt driver?? what is the MySQL version used for it??

    IIRC the standard version of MySQL per Windows is built with Visual C++ (I think 64bit); so you cannot link it to a Mingw32 version of Qt



  • @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.


  • Lifetime Qt Champion

    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



  • I have made a VM of windows 7 and it works. so something is wrong with my pc but works on a clean win7.



  • 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!


  • Lifetime Qt Champion

    @EXTREME Hi and welcome to devnet,

    Did you also deploy the MySQL client .dlls with your application ?



  • 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
    qsqlpsql

    The program just doesn't connect to the database because of drivers.
    I can't figure out what to do now :(


  • Lifetime Qt Champion

    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:
    alt text

    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


  • Lifetime Qt Champion

    No, not the executable, the Qt MySQL plugin.



  • @SGaist said in [Solved] QSqlDatabase: QMYSQL driver not loaded available drivers: QMYSQL:

    No, not the executable, the Qt MySQL plugin.

    The qsqlmysql.dll ? If yes..
    alt text
    PS: I already have these dlls on the exe folder. Tried to copy to the sqldrivers folder, but got the same error "Driver not loaded".



  • God... finally got it working!!!

    Tried many libmysql.dlls and got one that works.

    Thanks @SGaist for your time :)


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.