Russian Qt Forum

Qt => Базы данных => Тема начата: finka от Ноябрь 23, 2007, 18:55



Название: Driver not loaded опять...
Отправлено: finka от Ноябрь 23, 2007, 18:55
Была программа, работала с mysql через odbc и все было ок. Решила сделать консольный вариант: добавила в pro файл QT -= gui, переписала пару классов, никак не связанных с БД, и теперь у меня driver not loaded! Почти та же программа, та же БД, та же СУБД, по сути должен быть тот же драйвер, откуда может взяться такая ошибка?? Может это такой глюк в Qt? По поиску смотрела, вероятно, придется заново с этим драйвером возиться, переустанавливать.


Название: Re: Driver not loaded опять...
Отправлено: stealth от Ноябрь 23, 2007, 20:32
а прежняя программа с gui на данный момент работает?

а вообще самое нормальное описание по mysql+qt4 вот тут
http://wiki.qtcentre.org/index.php?title=Building_the_QMYSQL_plugin_on_Windows_using_MinGW (http://wiki.qtcentre.org/index.php?title=Building_the_QMYSQL_plugin_on_Windows_using_MinGW)


Название: Re: Driver not loaded опять...
Отправлено: Icoz от Ноябрь 25, 2007, 01:37
попробуй в папке, где лежит твоя программа (exe или elf), создать подпапку sqldrivers, а в нее - libqmysql...(.dll|.so)
Может поможет, если он у тебя тупо драйвер не находит...


Название: Re: Driver not loaded опять...
Отправлено: Вячеслав от Ноябрь 25, 2007, 13:59
если прога под пингвином - strace рулит ;)


Название: Re: Driver not loaded опять...
Отправлено: finka от Ноябрь 26, 2007, 12:13
Icoz , не помогло.
Программа с gui работает. У меня так: в main есть строчка
Код:
#define GUI
Я комментирую эту строчку, редактирую .pro, то есть, исключаю оттуда gui и и меняю там список HEADERS и SOURCES. Что касается работы с БД, там код одинаковый остается:
Код:
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setHostName("localhost");
db.setDatabaseName("dbname");
db.setUserName("user");
db.setPassword("password");
bool ok = db.open();
if (ok)
...
Последнее условие в консольном варианте не выолняется и в lastError лежит вышеупомянутая ошибка:(
Ну и да, кстати, Qt4.3.1-WindowsXP-msvc2005.


Название: Re: Driver not loaded опять...
Отправлено: -QT- от Ноябрь 26, 2007, 22:28
Параметры компиляции QT в студию !
PRO-файл проекта полностью на обозрение.
После изучения смогу Вам дать ответ на Ваш вопрос.

Да еще для виндовоза перечень ODBC драйверов ....


Название: Re: Driver not loaded опять...
Отправлено: finka от Ноябрь 27, 2007, 12:35
pro файл:
######################################################################
# Automatically generated by qmake (2.01a) ?? 11. ??? 13:15:16 2007
######################################################################

TEMPLATE = vcapp
TARGET = GUI
DEPENDPATH += .

# Input
HEADERS += messagereader.h \
           sample.h           
SOURCES += main.cpp \
           sample.cpp
QT += network
QT += sql
QT -= gui

Параметр компиляции только один был release-and-debug, все остальные по умолчанию.

В списке драйверов ODBC среди всего прочего есть MySQL ODBC 3.51 Driver.


Название: Re: Driver not loaded опять...
Отправлено: finka от Ноябрь 27, 2007, 13:03
Нашла ошибку  ::)
В функции main я создавала объект, в конструкторе которого открывала базу данных ДО строчек
Код:
QCoreApplication app(argc, argv);
return app.exec();
Как только всунула это между строчек, все заработало ;D Надо было внимательнее читать Assistant :)