QPSQL驱动没有加载Qt

时间:2014-10-22 12:23:03

标签: c++ qt postgresql qsqldatabase

当我想添加数据库时,我遇到了一些麻烦。

    _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。也不起作用。

4 个答案:

答案 0 :(得分:7)

如果要获取未加载QT_DEBUG_PLUGINS=1驱动程序的原因的完整信息,请添加系统变量QPSQL

可能你会发现Qt无法找到它。将输出复制并粘贴到此处以了解究竟发生了什么。

答案 1 :(得分:3)

我来这里谷歌搜索是因为我在Windows中遇到了同样的问题。

在我解决这个问题的情况下,我必须安装PostgreSQL for Windows 32位,因为我的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之前设置PATH,或者通过Build Environment窗格中的Projects使用Qt Creator本身。

答案 2 :(得分:2)

qsqlpsql.dll上使用depends.exe,发现此dll需要libpq.dll文件夹中的PostgreSQL\9.3\lib。将libpq.dll添加到Debug文件夹,它可以正常运行:)

答案 3 :(得分:0)

尝试pip install PyQt5事件(如果您已经使用conda或安装程序进行安装)。它帮助了我。