[英]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.