簡體   English   中英

未加載 QPSQL 驅動程序 Qt

[英]QPSQL driver not loaded Qt

我想添加數據庫時遇到了一些麻煩。

    _dataBase = QSqlDatabase::addDatabase("QPSQL");

調用此方法后出現錯誤:

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

我將PATH變量路徑包含到:

PostgreSQL\9.3\bin
PostgreSQL\9.3\lib
PostgreSQL\9.3\include

我也將文件夾sqldrivers復制到Debug文件夾。 還嘗試將此文件夾中的 dll 復制到Debug 也不行。

如果要獲取有關為什么尚未加載QPSQL驅動程序的完整信息,請添加系統變量QT_DEBUG_PLUGINS=1

可能您會發現Qt找不到它。 將輸出復制並粘貼到此處以了解確切發生的情況。

我來這里進行谷歌搜索是因為我在Windows中也遇到了同樣的問題。

就我而言,要解決此問題,我必須為Windows 32位安裝PostgreSQL,因為我的Qt目標是MinGW 32位。

另外,我必須將PATH添加到PostgreSQL bin和lib目錄中,以便Qt可以找到正確的.dlls

@SET PATH=C:\Program Files (x86)\PostgreSQL\9.6\bin\;C:\Program Files (x86)\PostgreSQL\9.6\lib\;%PATH%

可以在啟動Qt Creator之前或通過“ Projects窗格中的“ Build Environment使用Qt Creator本身來設置PATH

qsqlpsql.dll上使用depends.exe,發現此dll需要來自PostgreSQL\\9.3\\lib文件夾中的libpq.dll libpq.dll添加到Debug文件夾,它可以正常工作:)

如果您已經使用conda或installer pip install PyQt5事件,請嘗試pip install PyQt5事件。 它幫助了我。

我在部署 Qt 應用程序時遇到了同樣的問題(windeployqt 沒有幫助)。 I had to copy more.dlls (libcrypto-1_1-x64.dll, libiconv-2.dll, libintl-8.dll, libpq.dll, libssl-1_1-x64.dll, libwinpthread-1.dll) from postgreSQL bin path (c:\ Program Files\PostgreSQL\12\bin) 在 .exe 文件旁邊(根據 dependency walker)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM