2017-08-10 147 views
0

我剛剛開發了一個QT CRUD應用程序。我正在使用SQLite將信息本地存儲在運行應用程序的磁盤中。這樣我的應用程序工作正常。Qt:QSqlDatabase:QMYSQL驅動程序未加載

但該應用程序缺少中央數據庫服務器。爲此,我開始安裝MySql-server和MySql-workbench。我在工作臺中導入了我的數據庫,並確保服務器正在運行。

現在Qt的,我寫了下面的線conenct到我的服務器「localhost」的使用端口「3306」爲遵循:

db = QSqlDatabase::addDatabase("QMYSQL"); 
db.setHostName("localhost"); 
db.setPort(3306); 
db.setDatabaseName(databaseName); 
db.setUserName(userName); 
db.setPassword(userPass); 

qDebug() << appDataPath; 

if (!db.open()){ 
    return db.lastError().text(); 
} 

不過,我得到的QT以下錯誤「應用Outout 「:

QSqlDatabase:QMYSQL驅動程序未加載 QSqlDatabase:可用的驅動程序:QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

我試圖確保libmysql.dll位於「C:\ Program Files \ MySQL \ MySQL Server 5.7 \ lib」中。

我將它複製到「C:\ Users \ Abubakr \ Documents \ GitHub \ DEBUG」 \ build-Muwassa-Desktop_Qt_5_4_2_MinGW_32bit2-debug「

但它根本不工作。

請幫忙!!

+0

您是否使用mysql支持構建Qt?它沒有默認啓用。 – drescherjm

+0

在系統路徑中是'C:\ Program Files \ MySQL \ MySQL Server 5.7 \ lib'嗎? – drescherjm

+1

***如果可能的話,關於如何將Windows上的Qt連接到Mysql服務器的教程將幫助很多***這是StackOverflow的主題。 – drescherjm

回答

0

您需要先自己構建QMYSQL驅動程序。

當你下載Qt的時候,你也有它提供的源代碼。

在我的情況下,它在:C:\Qt\5.9\Src\qtbase\src\plugins\sqldrivers\mysql 這裏有一個* .pro(這是一種makefile生成器)。你只需要用QtCreator打開它,編譯它,你會得到一個DLL。這個DLL是MySQL的驅動程序,必須與您的應用程序相同。要做到這一點,如果你的編譯有問題(如mysql.h找不到),你也必須「安裝」mysql庫。

在Linux中,您也可能遇到同樣的問題。