2017-03-08 21 views
5

QMYSQL司機,當我試圖連接到MySQL,有一個錯誤:QT 5.8的SQL連接錯誤:沒有裝上窗戶10

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

所以我GOOGLE了它,我嘗試:

1 .Copy sqldrivers文件夾C:\ Qt的\ Qt5.8.0 \ 5.8 \ mingw53_32 \插件

2.複印libmysql.dll拷貝到C:\ Qt的\ Qt5.8.0 \ 5.8 \ mingw53_32 \ BIN

但錯誤仍然存​​在。

有什麼我失蹤?

+0

「複製sqldrivers文件夾C:\ Qt的\ Qt5.8.0 \ 5.8 \ mingw53_32 \插件」 來自哪裏? 'sqldrivers'文件夾已經被設置爲'/plugins' –

+0

[爲什麼QMYSQL驅動程序未加載到QT5.2中?](https://stackoverflow.com/questions/21450861/why-qmysql -driver-not-loaded-in-qt5-2) –

回答

0

這個錯誤通常意味着Qt MySQL插件沒問題(因爲它在可用的驅動程序中列出),但是您缺少MySQL dll(從而阻止驅動程序加載)。

解決此問題的方法是將libmysql.dll放置在PATH的某處,例如,加入MySQL的安裝文件夾路徑,或者在同一個文件夾中複製libmysql.dll你有你的exe文件。

1
  1. 你必須重建MySQL驅動程序。
  2. 關注這個guide

    注意:您需要三樣東西:

    一個。 qt-opensource-xxx-mingw492-xxx.exe用於Qt Creator和Qt命令 提示。

    b.qt-everywhere-opensource-src-xxx.zip用於Qt源代碼,需要mysql.pro文件。 lib和include文件夾需要c.mysql-connector-c-6.1.10-win32.zip。

4

有64位和32位版本的libmysql.dll。 重建Qt驅動程序是不是必須的

使用預編譯版本的Qt5.9.1,您仍然需要使用32位版本,即使使用64位版本的MySQL安裝,它也能工作。無需重新編譯QT插件或組件。 Download 32 bit MySQL connector here

這是已經在這裏找到答案:medasumanth answer

+2

爲了說清楚,如果您使用的是Qt的x64版本,則需要使用x64連接器文件。如果您使用x86版本的Qt,則需要使用x86連接器文件。連接器可以在這裏下載:https://dev.mysql.com/downloads/connector/c/。這樣做爲我工作(兩個版本的Qt)。 – gfrigon

+0

無異議。我沒有見過使用Qt安裝程序的MinGw_64,但總是使用MinGW32。我沒有使用MSVC32/64。 msvc64需要專門的64位MySQL連接器嗎? –