我在添加数据库时遇到了一些问题。
_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
文件夹。也试图复制dlls从这个文件夹到Debug
。也不工作。
5条答案
按热度按时间h79rfbju1#
我来这里谷歌,因为我有同样的问题,在Windows。
在我的情况下,为了解决这个问题,我不得不安装PostgreSQL为Windows 32位,因为我的Qt目标是MinGW 32位。
此外,我还必须将
PATH
添加到PostgreSQL的bin和lib目录中,以便Qt能够找到正确的.dlls
。PATH
可以在启动Qt Creator之前设置,也可以通过Projects
窗格中的Build Environment
使用Qt Creator本身。ddhy6vgd2#
如果要获取有关
QPSQL
驱动程序未加载原因的完整信息,请添加系统变量QT_DEBUG_PLUGINS=1
。您可能会发现Qt无法找到它。复制并粘贴输出到此处,以了解具体情况。
shstlldc3#
在
qsqlpsql.dll
上使用depends.exe,发现此dll需要PostgreSQL\9.3\lib
文件夹中的libpq.dll
。将libpq.dll
添加到Debug
文件夹中,它就可以工作了:)li9yvcax4#
尝试
pip install PyQt5
事件,如果你已经安装了它使用conda或安装程序。它帮助我。23c0lvtd5#
我在部署Qt应用程序时遇到了同样的问题(windeployqt没有帮助)。我不得不从PostgreSQL bin路径(c:\Program Files\PostgreSQL\12\bin)中.exe文件旁边复制更多的. dll(libcrypto-1_1-x64.dll、libiconv-2.dll、libintl-8.dll、libpq.dll、libssl-1_1-x64.dll、libwinpthread-1.dll)(根据依赖项步行者)。