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