Драйвер QPSQL не загружен 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, Тоже не работает

4

Решение

Я пришел сюда погуглить, потому что у меня была такая же проблема в Windows.

В моем случае для решения этой проблемы мне пришлось установить 32-разрядную версию PostgreSQL для Windows, поскольку моя цель Qt была 32-разрядной MinGW.

Кроме того, мне пришлось добавить PATH в каталогах bin и lib PostgreSQL, чтобы Qt мог найти .dlls,

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

PATH может быть установлен перед запуском Qt Creator или использованием самого Qt Creator через Build Environment в Projects панель.

1

Другие решения

Добавьте системную переменную QT_DEBUG_PLUGINS=1 если вы хотите получить полную информацию о том, почему QPSQL драйвер не был загружен.

Возможно, вы обнаружите, что Qt не может его найти. Скопируйте и вставьте сюда вывод, чтобы знать, что именно происходит.

7

Используйте зависящий от.exe файл qsqlpsql.dll и обнаружил, что это dll нужно libpq.dll от PostgreSQL\9.3\libпапка. добавлять libpq.dll в Debug папка и все работает 🙂

2

Пытаться pip install PyQt5 событие, если вы уже установили его с помощью conda или установщика. Это помогло мне.

0
По вопросам рекламы [email protected]