已解决 Qt5.12连接MySQL 8.0的问题:QSqlDatabase: QMYSQL driver not loaded

-------------------------------仅以此文分享给大家,希望大家有共享精神-------------------------------------------------

开发环境: 
1. windows 10

2. Qt版本    Qt Creator 4.8.1   Qt 5.12.1 (MSVC 2015, 32 bit)

2. Qt C++编译器  Qt\Qt5.12.1\5.12.1\mingw73_64

----------------------------------------------------------------------------------------------------------

这两天做一个数据软件,连接数据库出现了如下问题:

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

然后按网上找的方法通通都不行,包括下载mysql-connector-c-6.1.11-win32 ,并替换掉相关 libmysql.dll,后来又实验了多种方法都是行不通的,最后分析结果是这样的:

第一、我的MYSQL数据库是IP访问的,和本地无关,本地也无需要布置MYSQL,所以软件连接与数据库版本无关,只与QT5.12.1有关,网上传说的QT5.12与MYSQL8 不兼容纯不懂装懂。

第二、mysql-connector-c-6.1.11-win32实际上版本也是不对的,我们QT 5.12.1编译器是X64的,所以必须用X64的libmysql.dll

因此果断换 mysql 老版本的libmysql.dll,直接搞定。

将 mysql老版本的 libmysql.dll libmysqld.dll libmysql.lib libmysqld.lib替换到mingw73_64 - >plugins->sqldrivers中;同时复制到bin中,解决问题,根本不需要用ODBC。

 

你可能感兴趣的:(开发经验)