1. 程式人生 > >Qt5.9連線MySql5.7.17錯誤解決辦法(錯誤提示:QMYSQL driver not loaded)

Qt5.9連線MySql5.7.17錯誤解決辦法(錯誤提示:QMYSQL driver not loaded)

我用Qt5.9新建一個Console控制檯程式,用Qt5.9Console控制檯測試連線MySql5.7.17資料庫時,出現MySql資料庫驅動不可用,具體的程式碼和錯誤如下所示:
1.1程式碼如下:(記得在.pro問價裡面新增QT+=sql

#include<QCoreApplication>

#include<QSqlDriver>

#include<QSqlDatabase>

#include<QSqlQuery>

#include<QDebug>

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)


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官網下載。

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


1.4.2將解壓出來的libmysql.dll和libmysql.lib檔案,複製到Qt的安裝目錄bin下,如下圖所示:


下載解壓的libmysql.dll和libmysql.lib檔案


複製到安裝Qt5.9時的bin目錄下

1.4.3程式編譯執行後的結果,如下圖所示


由上圖結果可知,解決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