Russian Qt Forum

Qt => Базы данных => Тема начата: zabavart от Май 19, 2011, 01:00



Название: Не подключается QPSQL
Отправлено: 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.


Название: Re: Не подключается QPSQL
Отправлено: LisandreL от Май 19, 2011, 06:30
Собирать плагин из исходников самому.


Название: Re: Не подключается QPSQL
Отправлено: rad1kalen от Май 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


Название: Re: Не подключается QPSQL
Отправлено: rad1kalen от Август 05, 2011, 18:36
Дополнения, как лечить.
1. Посмотреть плагин qpsql с помощью dependency walker на предмет видимости всех Dll: IEshims.dll, libintl-8.dll
2. libintl-8.dll лежит в ..\PostgreSQL\х.0\bin, соответственно, этот путь можно добавить в PATH


Название: Re: Не подключается QPSQL
Отправлено: vaychick от Август 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


Название: Re: Не подключается QPSQL
Отправлено: Пантер от Август 08, 2011, 11:48
Если используешь MinGW, то лучше скомпилить постгрес самому, тогда зависимостей будет намного меньше.


Название: Re: Не подключается QPSQL
Отправлено: Rem Norton от Сентябрь 14, 2011, 20:55
А сам PostgreSQL установлен? Подозреваю, что нет.