Qt5.9连接MySql5.7.17错误解决办法(错误提示:QMYSQL driver not loaded)

我用Qt5.9新建一个Console控制台程序,用Qt5.9Console控制台测试连接MySql5.7.17数据库时,出现MySql数据库驱动不可用,具体的代码和错误如下所示:
1.1代码如下:(记得在.pro问价里面添加QT+=sql)

#include
#include
#include
#include
#include

int main(int argc,char *argv[])
{
    QCoreApplication a(argc,argv);

    //连接数据库
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
         db.setHostName("127.0.0.1");//localhost 这里不方便透露出公司的数据库,所以只能用一般的IP地址替代
         db.setDatabaseName("mqtt");
         db.setUserName("admin");
         db.setPassword("admin");
         if(!db.open())
             qDebug()<<"Failedtoconnecttorootmysqladmin";
         else qDebug()<<"opensuccess!";   

    return a.exec();
}


1.2 具体的错误如下:(错误提示:QMYSQL driver not loaded)
Qt5.9连接MySql5.7.17错误解决办法(错误提示:QMYSQL driver not loaded)_第1张图片

1.3错误原因分析

 

我在网上查找了许多教程和解决办法,但是都没有解决这个错误。其实准确来说,网上那些解决办法应该是可行的,但是没有详细解释清楚。而我用Qt5.9之所以连接不上MySql5.7.17,是因为我用的是64位的libmysql.dll,而不是32位的libmysql.dll。所以,无论我怎么折腾,就是连接不上。因为Qt5.9有自带的Mysql驱动,不需要手动编译。所以我们只需要做的步骤是,找到libmysql.dll和libmysql.lib这两个文件,将它们复制到安装Qt目录的bin文件夹下就行,其它的操作不需要了,具体的操作步骤参考下面的1.4小节。

 

 

1.4错误解决办法

1.4.1在如下地址,下载libmysql.dll和libmysql.lib两个文件(都在压缩包libmysql_win32(32位libmysql.dll)里面,直接下载解压就行)。当然,也可以在MySql官网下载。

https://download.csdn.net/download/naibozhuan3744/10184187

 

1.4.2将解压出来的libmysql.dll和libmysql.lib文件,复制到Qt的安装目录bin下,如下图所示:

 

Qt5.9连接MySql5.7.17错误解决办法(错误提示:QMYSQL driver not loaded)_第2张图片

下载解压的libmysql.dll和libmysql.lib文件

 

Qt5.9连接MySql5.7.17错误解决办法(错误提示:QMYSQL driver not loaded)_第3张图片

复制到安装Qt5.9时的bin目录下

 

1.4.3程序编译执行后的结果,如下图所示

Qt5.9连接MySql5.7.17错误解决办法(错误提示:QMYSQL driver not loaded)_第4张图片

 

由上图结果可知,解决Qt5.9连接MySql5.7.17没有驱动错误时,只需要用32位的libmysql.dll和libmysql.lib两个文件,放入安装Qt5.9时的目录bin下就可以正确解决该错误。

 

 

参考内容:

http://download.csdn.net/download/naibozhuan3744/10184187

http://bbs.csdn.net/topics/392193439

http://www.cnblogs.com/foxhengxing/archive/2011/05/24/2055622.html

你可能感兴趣的:(数据库积累)