Russian Qt Forum
Сентябрь 30, 2024, 02:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Не подключается QPSQL  (Прочитано 7574 раз)
zabavart
Гость
« : Май 19, 2011, 01:00 »

Пытаюсь подключиться к базе данных, через QPSQL
Цитировать
QSqlDatabase sdb = QSqlDatabase::addDatabase("QPSQL");

Вот, что выдаёт
Цитировать

QSqlDatabase: QPSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL3 QMYSQL

Debian 6, QT 4, Postgres 9.
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #1 : Май 19, 2011, 06:30 »

Собирать плагин из исходников самому.
Записан
rad1kalen
Гость
« Ответ #2 : Май 20, 2011, 17:23 »

По теме, собрал plugin QPsql (до этого собирал несколько раз и все работало), поместил в QTDIR\Desktop\Qt\4.7.3\mingw\plugins\sqldrivers. Но QSqlDatabase::drivers() не видит драйвер, он не загружен. Пробовал снести из указанной папки QSqlLite - из списка драйверов QSqlLite пропадает. Возвращаю - появляется. То есть, папка точно та, повторю, драйвер собирается успешно. Кто-нибудь сталкивался? Подскажите?

UPD. QODBC собирается и виден в доступных драйверах
UPD2. QOCI не собирается, проблема в том, что в новой версии QOCIResult не видит базовый класс QSqlCashedResult
UPD3. Проблема с QPSQL решена добавлением в Path пути к библиотеке libpq
« Последнее редактирование: Май 21, 2011, 14:35 от rad1kalen » Записан
rad1kalen
Гость
« Ответ #3 : Август 05, 2011, 18:36 »

Дополнения, как лечить.
1. Посмотреть плагин qpsql с помощью dependency walker на предмет видимости всех Dll: IEshims.dll, libintl-8.dll
2. libintl-8.dll лежит в ..\PostgreSQL\х.0\bin, соответственно, этот путь можно добавить в PATH
Записан
vaychick
Гость
« Ответ #4 : Август 08, 2011, 11:46 »

Цитировать
PostgreSQL\х.0\bin, соответственно, этот путь можно добавить в PATH
Мне это не помогло, зато помогло вот это
Код:
LIBS += -L"C:/Program Files/PostgreSQL/9.0/bin"

Из другого форума: перечень библиотек, которые нужно скопировать в папку с исполняемым файлом, если они не находятся в переменных окружения

ssleay32.dll
msvcr71.dll
libpq.dll
libintl-8.dll
libiconv-2.dll
libeay32.dll
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Август 08, 2011, 11:48 »

Если используешь MinGW, то лучше скомпилить постгрес самому, тогда зависимостей будет намного меньше.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Rem Norton
Гость
« Ответ #6 : Сентябрь 14, 2011, 20:55 »

А сам PostgreSQL установлен? Подозреваю, что нет.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 22.