在使用QT5.8.0操作遠程MYSQL數據庫時,總是打開失敗,提示MYSQL驅動沒有被加載,如下爲部分示例代碼:
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QDebug>
QString hostName = "localhost"; // MYSQL主機名
int portNum = 3306; //服務器端口號
dbName = "test"; //數據庫名稱
userName = "root"; // 用戶名
password = "your_password"; // 密碼
QSqlDatabase dbconn = QSqlDatabase::addDatabase("QMYSQL");
dbconn.setHostName(hostName);
dbconn.setPort(portNum);
dbconn.setDatabaseName(dbName);
dbconn.setUserName(userName);
dbconn.setPassword(password);
qDebug("database open status: %d\n", dbconn.open());
QSqlError error = dbconn.lastError();
qDebug() << error.text();
dbconn.close();
運行結果提示信息如下:
在網上查詢資料,說是要安裝mysql,然後把dll庫拷到QT安裝目錄下去,就能解決。
但是從網上下了許多版本、試了許多遍都不能使用,並且32位、64位庫還傻傻分不清楚。
最終我是通過助手工具,安裝了正確的mysql解決的,
由於QT5.8安裝自帶的mingw53_32 爲 32位編譯,所以需要安裝32位的mysql驅動(dll文件),步驟如下:
1. 下載mysql安裝助手工具: https://dev.mysql.com/downloads/installer/
(使用該方式安裝,需要確保電腦能夠上網。若使用網線訪問太慢,可嘗試連接手機wifi熱點訪問該網站,親測速度會快很多)
2. 運行MySQL Installer, 使用它能夠方便快捷的安裝、刪除、更新MYSQL相關產品。
3. 點擊Add.. ,注意我們需要安裝的是MySQL Connectors中的 MySQLConnector/C 6.1.11 - x86,而不是安裝MYSQL Servers
4. 安裝完成後,找到安裝路徑。
5. 將安裝路徑下的lib目錄下的 libmysql.dll 文件拷貝至QT編譯器安裝目錄。
拷貝到--->
6. 再次運行程序,數據庫成功打開,如下圖所示: