Как в 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
- Қар. 11, 2024, 11:58 Т.Ж.
C++ - Тест 004. Указатели, Массивы и Циклы
- Нәтиже:50ұпай,
- Бағалау ұпайлары-4
- molni99
- Қаз. 25, 2024, 10:37 Т.Қ.
C++ - Тест 004. Указатели, Массивы и Циклы
- Нәтиже:80ұпай,
- Бағалау ұпайлары4
- molni99
- Қаз. 25, 2024, 10: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 не отображает запрашиваемую таблицу.
Это уже другой, отдельный вопрос )))
Скорее всего неправильно объявлено что-то в таблице, либо она не создана, либо неправильно читается. Смотрите вывод ошибок