Как в QT подключить PostgreSQL
Здравствуйте.
Пытаюсь подключить PostgreSQL 9,6. Разрядность скорей всего 32.
Компилятор MinGW32.
В pro файле дописал
INCLUDEPATH += C:/Program Files (x86)/PostgreSQL/9.6/include
LIBS+= C:/Program Files (x86)/PostgreSQL/9.6/lib/libpq.dll
В проекте срр написал
QSqlDatabase SearchDB = QSqlDatabase::addDatabase("QPSQL");
При работе выдает ошибку:
QSqlDatabase: QPSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
Скажите пожалуйста как правильно подключить PostgreSQL 9,6?
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Пожалуйста, авторизуйтесь или зарегистрируйтесь
- Akiv Doros
- 12 ноября 2024 г. 1:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50баллов,
- Очки рейтинга-4
- molni99
- 26 октября 2024 г. 11:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80баллов,
- Очки рейтинга4
- molni99
- 26 октября 2024 г. 11:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20баллов,
- Очки рейтинга-10
Непонятно, вы драйвер скачали или собирали?
Сдаётся мне, что возможно более правильный вариант собрать своим компилятором вначале его, а потом уже подключать.
оказывается новый драйвер не нужен, так работает:
https://forum.qt.io/topic/81148/cannot-install-postgresql-driver/8
С драйвером проблема решена.
Но дальше пытаюсь подключиться к базе.
На этом этапе
дебаг говорит что база открыта.
Если дальше делать подключение к таблице
то выдает ошибку:
QSqlDatabasePrivate::database: unable to open database: "could not connect to server: Connection refused (0x0000274D/10061)\n\tIs the server running on host \"localhost\" (::1) and accepting\n\tTCP/IP connections on port 5432?\ncould not connect to server: Connection refused (0x0000274D/10061)\n\tIs the server running on host \"localhost\" (127.0.0.1) and accepting\n\tTCP/IP connections on port 5432?\nQPSQL: Unable to connect"
Скажите пожалуйста, как правильно подключить эту субд?
извините ошибся, на SearchDB.open() база не открывается.
может быть setHostName нужен другой?
Насколько помню, там нужно ещё порты укзаывать, если подключение идёт к сетевой базе данных и вместо localhost нужно указать ip адрес, в вашем случае "127.0.0.1"
так вроде бы
Спасибо.
Дописал так и база открылась
Но QSqlTableModel не отображает запрашиваемую таблицу.
Это уже другой, отдельный вопрос )))
Скорее всего неправильно объявлено что-то в таблице, либо она не создана, либо неправильно читается. Смотрите вывод ошибок