Найти - Пользователи
Полная версия: PyQt4 + Firebird (QIBASE)
Начало » GUI » PyQt4 + Firebird (QIBASE)
1
Misha117
Вот такая проблема: PyQt4 не хочет видеть драйвер QIBASE базы данных Firebird. На форуме эта тема уже поднималась, но ответа я не нашел.

Итак. Win 7. Установлен Python-3.3.0 (x86). На него поставлен PyQt4 - 4.9.6-1 (x86). Нужного драйвера с PyQt4 не поставляется, поэтому устанавливаю Qt by Didgia v4.8.4 (MinGW).
В нем собирается драйвер из исходников. Аналогично инструкции: http://doc.qt.digia.com/qt/sql-driver.html#qibase :

cd %QTDIR%\src\plugins\sqldrivers\ibase
qmake “INCLUDEPATH+=C:\firebird\include” “LIBS+=C:\firebird\lib\fbclient_ms.lib” ibase.pro
make

Скомпилировалось. Только варнинги выдала:
WARNING: (internal):1: Unescaped backslashes are deprecated.
WARNING: (internal):1: Unescaped backslashes are deprecated.
WARNING: (internal):1: Unescaped backslashes are deprecated.

Получаем файл qsqlibase.dll и копируем его в C:\Python33\Lib\site-packages\PyQt4\plugins\sqldrivers

Далее в программе команда print(QSqlDatabase.drivers()) выдает только:
'QSQLITE', ‘QMYSQL3’, ‘QMYSQL’, ‘QODBC3’, ‘QODBC’, ‘QPSQL7’, ‘QPSQL’
Как видно, среди них QIBASE нет. Соответственно и подключение драйвера ничего не дает.

Однако, когда из кода в Qt вызываешь метод QSqlDatabase::drivers(); , там QIBASE присутствует.

Может, кто знает, как нужно подключать этот драйвер? В чем может быть ошибка?
Misha117
Возможно, Python и qsqlibase.dll собраны разными компиляторами. Как это можно поверить?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB