Russian Qt Forum

Qt => Базы данных => Тема начата: QCasper от Июнь 22, 2006, 23:27



Название: mysql
Отправлено: QCasper от Июнь 22, 2006, 23:27
расскажите, пожалуйста, как работать с mysql. Я сделал минимум с помощь QSqlDatabase мне вываливается что типа QMYSQL драйвер not loaded.


Название: mysql
Отправлено: Azathoth от Июнь 23, 2006, 09:19
Какая операционка?
Если Qt собирался из сырцов, то как внимательно читался configure --help?
Тут на самом деле все не так однозначно.
Что говорил Гугл и какие действия предпринимались?


Название: mysql
Отправлено: QCasper от Июнь 23, 2006, 09:59
Цитата: "Azathoth"
Какая операционка?
Если Qt собирался из сырцов, то как внимательно читался configure --help?
Тут на самом деле все не так однозначно.
Что говорил Гугл и какие действия предпринимались?


- Windows XP
- ставилось посредством этого файлика qt-win-opensource-4.1.1-mingw.exe
- я установил себе мускл с либами и сурцами и попыталя скомпилить то что в qtdir/src/sql/drivers/mysql - скомпилил, получил либу. А че собсна дальше делать я не знаю


Название: mysql
Отправлено: AlexKiriukha от Июнь 23, 2006, 10:50
Попробуй http://ru.wikibooks.org/wiki/Qt4_%D0%A7%D0%90%D0%92%D0%9E
Если там что-то не правильно - то если поправишь - сделаешь добро людям :-)


Название: mysql
Отправлено: QCasper от Июнь 24, 2006, 15:46
Цитата: "AlexKiriukha"
Попробуй http://ru.wikibooks.org/wiki/Qt4_%D0%A7%D0%90%D0%92%D0%9E
Если там что-то не правильно - то если поправишь - сделаешь добро людям :-)


так, собрал плагинчик, а что дальше, все равно мне вываливается

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC

???


Название: mysql
Отправлено: BaltikS от Июнь 25, 2006, 09:41
Могу сказать только одно, что у меня фигня тоже не работала сначала, но спустя какое то время заработала сама собой... В чём дело, до сих пор не понимаю... Там фишка будет ещё потом переноса клиентской программы на "голую" машину... У меня так до сих пор это не работает...


Название: mysql
Отправлено: QCasper от Июнь 25, 2006, 12:31
Цитата: "BaltikS"
Могу сказать только одно, что у меня фигня тоже не работала сначала, но спустя какое то время заработала сама собой... В чём дело, до сих пор не понимаю... Там фишка будет ещё потом переноса клиентской программы на "голую" машину... У меня так до сих пор это не работает...


фишка очень проста нужно захватить с собой драйвер qsqlmysql.dll, и будет работать, ну и libmysql.dll, которая с сервером идет. По идее должно работать, причем у меня стоит комерческая и опенсурс версии qt, на комерческой пашет, на опенсурс - нифига, вывод простой - я как-то криво собрал драйвер, где-то что-то забыл, вопрос - что...


Название: mysql
Отправлено: BaltikS от Июнь 25, 2006, 16:00
Я это уже делал естественно (по поводу ДЛЛек) и версия коммерческая ;), и не черта не работает ;).... и вручную драйвер компилил тоже..... Мне кажется дело не в этом а вглючности самого мускулового драйвера

добавлено спустя 1 минуту:

 Причём, заметил что после установки самого сервера на эту же машину спустя Нное время начинало работать...:))))


Название: mysql
Отправлено: QCasper от Июнь 25, 2006, 18:56
Цитата: "BaltikS"
Я это уже делал естественно (по поводу ДЛЛек) и версия коммерческая ;), и не черта не работает ;).... и вручную драйвер компилил тоже..... Мне кажется дело не в этом а вглючности самого мускулового драйвера

добавлено спустя 1 минуту:

 Причём, заметил что после установки самого сервера на эту же машину спустя Нное время начинало работать...:))))


вот меня в обоих твоих постах мучает "спустя энное время", как же так блин...

добавлено спустя 2 часа 47 минут:

 Я УЖЕ ЗАТРАХАЛСЯ, ПОМОГИТЕ УМНЫЕ ЛЮДИ!!!


Название: mysql
Отправлено: BaltikS от Июнь 25, 2006, 20:39
Цитата: "QCasper"
вот меня в обоих твоих постах мучает "спустя энное время", как же так блин...

Я сам в чудеса не верю, но ей богу с чем это связано так и не установил.


Название: mysql
Отправлено: SLiDER от Июнь 25, 2006, 23:22
Цитата: "QCasper"
Я УЖЕ ЗАТРАХАЛСЯ, ПОМОГИТЕ


Сам под мускул ни чего не пишу, но на компе стоит (для тестирования всякого php-барахла cms, форумы и т.п. - для корпоративного сервера  :wink: ). Так вот, только что проверил, работает. Qt 4.1.1 пересобранный (правда коммерческая версия), винда ХР, мускул 5.(чего то там). По аналогии с постгре хочется спросить: "В системе, в переменной PATH, путь к libmySQL.dll прописан?". А демка (demos\sqlbrowser) работает? А кутевые дрова после сборки в папку plugins\sqldrivers легли?


Название: mysql
Отправлено: QCasper от Июнь 26, 2006, 01:48
Цитата: "SLiDER"
Цитата: "QCasper"
Я УЖЕ ЗАТРАХАЛСЯ, ПОМОГИТЕ


Сам под мускул ни чего не пишу, но на компе стоит (для тестирования всякого php-барахла cms, форумы и т.п. - для корпоративного сервера  :wink: ). Так вот, только что проверил, работает. Qt 4.1.1 пересобранный (правда коммерческая версия), винда ХР, мускул 5.(чего то там). По аналогии с постгре хочется спросить: "В системе, в переменной PATH, путь к libmySQL.dll прописан?". А демка (demos\sqlbrowser) работает? А кутевые дрова после сборки в папку plugins\sqldrivers легли?


патч прописан.
у демки qmysql нет в списке дров
дрова в папку легли qsqlmysql.dll и qsqlmysqld.dll

комерческая версия у меня тоже работает, но там я драйвера есесно не сам собирал - уже были.


Название: mysql
Отправлено: crocus от Июнь 26, 2006, 03:34
Видимо на этом сайте Вы все топики уже перечитали.
На сайте qtlib был такой же вопрос, ознакомьтесь с ним.
1. в  wikibooks нужно поправочку внести, файл def не полностью отвечает требованиям Qt, его руками доводить надо.
2.библиотеку libmysql.a нужно класть в /lib и libmySQL.dll /system32
3. у меня возникала путаница с путями поэтому в qmysql.h путь прописал к mysql.h явно.
Ну если необходимо могу свой файл libmysql.a скинуть.


Название: mysql
Отправлено: Sergey B. от Июнь 26, 2006, 06:43
Цитата: "BaltikS"
Могу сказать только одно, что у меня фигня тоже не работала сначала, но спустя какое то время заработала сама собой... В чём дело, до сих пор не понимаю... Там фишка будет ещё потом переноса клиентской программы на "голую" машину... У меня так до сих пор это не работает...



положи libmysql.dll (mingw ский в  Windows\System32\)


Название: mysql
Отправлено: QCasper от Июнь 26, 2006, 13:00
Цитата: "crocus"
Видимо на этом сайте Вы все топики уже перечитали.
На сайте qtlib был такой же вопрос, ознакомьтесь с ним.
1. в  wikibooks нужно поправочку внести, файл def не полностью отвечает требованиям Qt, его руками доводить надо.
2.библиотеку libmysql.a нужно класть в /lib и libmySQL.dll /system32
3. у меня возникала путаница с путями поэтому в qmysql.h путь прописал к mysql.h явно.
Ну если необходимо могу свой файл libmysql.a скинуть.


что-то я не совсем понял с путями, зачем куда-то перекладывать, если и так все друг друга видят. и что там с деф файлом, по-подробнее будьте любезны.

добавлено спустя 1 минуту:

 
Цитата: "Sergey B."

положи libmysql.dll (mingw ский в  Windows\System32\)


что за такой libmysql.dll mingwский и где его взять?


Название: mysql
Отправлено: BaltikS от Июнь 26, 2006, 13:04
Цитата: "QCasper"
что за такой libmysql.dll mingwский и где его взять?

Да действительно? У меня он вместе с мускулом 5 уже скомпиленный идёт... Только не говорите что Мускул надо самому руками компилить...


Название: mysql
Отправлено: crocus от Июнь 26, 2006, 16:06
Цитировать
то за такой libmysql.dll mingwский и где его взять?

Вы же давно на форуме что за Б....   libmysql.dll самый обычный(теоретически- потому что у него проблемы с кирилицей- я использую от PHP).
 Библиотека libmysql.а суть тоже самое что и libmysql.dll только понятная mingw(типа кроссплатформ или *nix),,,   libmysql.def (definition-определение) типа файл с обращениями к функциям mysql.h и при выполнении reimp есть ненужные "-" при удалении которых и последующем # dlltool получаем рабочую libmysql.a

Бля господа у Вас статус "Частый гость" почитать топики ранг не позволяет
http://forum.qtlib.ru/viewtopic.php?t=42&start=0


Название: mysql
Отправлено: BaltikS от Июнь 26, 2006, 16:18
Слушай, друг crocus, не думай, что ты здесь самый умный... Всё это уже перечитано, то что ты написал было проделано полгода назад, и скажу следующее, что после замены ДЛЛ-ны лучше не стало....
Но тогда я замарачиваться не стал и юзал постгрес и радовался.... Нет чтобы понятно объяснить как сделать правильно, а то возьми кусок отсюда, оттуда, а потом ещё хуй знает отсюда... И всё это типа работает. Твои слова - полный и несовместимый бред...


Название: mysql
Отправлено: crocus от Июнь 26, 2006, 16:58
Пардон за грубость нервен я сегодня- дело шьют по ст.180 ч.1
Картинки подготовил завтра-послезавтра сделаю chm-файл с картинками как  библу компилял.

"не думай, что ты здесь самый умный."
Все чему я научился-- благодаря форумам и Бланшет и......много много думал
Без личных обид:))


Название: mysql
Отправлено: Sergey B. от Июнь 26, 2006, 17:31
Цитата: "crocus"
Видимо на этом сайте Вы все топики уже перечитали.
На сайте qtlib был такой же вопрос, ознакомьтесь с ним.
1. в  wikibooks нужно поправочку внести, файл def не полностью отвечает требованиям Qt, его руками доводить надо.
2.библиотеку libmysql.a нужно класть в /lib и libmySQL.dll /system32
3. у меня возникала путаница с путями поэтому в qmysql.h путь прописал к mysql.h явно.
Ну если необходимо могу свой файл libmysql.a скинуть.


Я собирал как на wiki, без правок def файлов и прочего.
правда это было на qt4.0.0 всё работало.
Потом пересел на постгрес и вздохнул с облегчением, поставьте его и парьтесь с mysql.
Много вкусного


Название: mysql
Отправлено: BaltikS от Июнь 26, 2006, 18:49
Давай, crocus, без обид, ждём chm...
P.S. Можно сразу и PostgreSQL с IBase - ом привернуть... Вообще было бы здорово  :wink:


Название: mysql
Отправлено: QCasper от Июнь 26, 2006, 18:59
Цитата: "Sergey B."


Потом пересел на постгрес и вздохнул с облегчением, поставьте его и парьтесь с mysql.
Много вкусного


не хочется раздувать споров, и прочего офтопа по поводу какая БД лучше, но хотелось бы узнать, в чем собсно заключается облегчение, по сравнению с мускулом?


Название: mysql
Отправлено: Sergey B. от Июнь 26, 2006, 20:35
Цитата: "QCasper"
Цитата: "Sergey B."


Потом пересел на постгрес и вздохнул с облегчением, поставьте его и парьтесь с mysql.
Много вкусного


не хочется раздувать споров, и прочего офтопа по поводу какая БД лучше, но хотелось бы узнать, в чем собсно заключается облегчение, по сравнению с мускулом?

http://sitemaker.ru/technologies/database/mysqlvspostgresql/


Название: mysql
Отправлено: QCasper от Июнь 29, 2006, 08:53
Цитата: "crocus"
Пардон за грубость нервен я сегодня- дело шьют по ст.180 ч.1
Картинки подготовил завтра-послезавтра сделаю chm-файл с картинками как  библу компилял.

"не думай, что ты здесь самый умный."
Все чему я научился-- благодаря форумам и Бланшет и......много много думал
Без личных обид:))


ну ты куда там запропастился? :)
мы тут сгораем от нетерпения :)


Название: mysql
Отправлено: crocus от Июнь 29, 2006, 15:04
Файл с обобщенным алгоритмом сборки плагина можно скачать http://source.foliant.net.ru/plugin.zip
Критику, пожелания, вопросы и благодарности размещайте в этом топике.


Название: mysql
Отправлено: QCasper от Июнь 30, 2006, 10:22
Цитата: "crocus"
Файл с обобщенным алгоритмом сборки плагина можно скачать http://source.foliant.net.ru/plugin.zip
Критику, пожелания, вопросы и благодарности размещайте в этом топике.


Короче сделал все слово в слово, результат:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers:

в связи с чем хочу разместить объявление:

    куплю или приму в дар шаманский бубен, можно б/у.

P.S. crocus, у тебя там 3 последние картинки не догружаются почему-то...
и при распаковке пишет "коруптед"


Название: mysql
Отправлено: crocus от Июнь 30, 2006, 17:42
да проверил -архив битый- перезалью в понедельник
В качестве рекомендации -может Qt пересобрать и 4.2.0tp1 кстати  вышел.


Название: mysql
Отправлено: QCasper от Июнь 30, 2006, 19:19
Цитата: "crocus"
да проверил -архив битый- перезалью в понедельник
В качестве рекомендации -может Qt пересобрать и 4.2.0tp1 кстати  вышел.


пересобрал, а точнее снес нах 4.1.1 и поставил 4.1.3 - результат, плагин даже не собирается, куча андефайнов.


Название: mysql
Отправлено: crocus от Июль 02, 2006, 17:09
ну если хочешь чтоб помогли сделай скриншот, я кстати уже собрал 4.2.0tp1 календаря пока не нашел а вот с графикой конечно круто, восхищен!!


Название: mysql
Отправлено: Sergey B. от Июль 02, 2006, 18:20
Цитата: "crocus"
ну если хочешь чтоб помогли сделай скриншот, я кстати уже собрал 4.2.0tp1 календаря пока не нашел а вот с графикой конечно круто, восхищен!!


Я тоже....
правда под мак, т.к. иначе под винду mingw её собирать несколько часов будет, а так за часок собрались :)...
Особенно порадовала решётка.
правда дока ещё не полностью и примеры не без ошибок но в целом приятно.
написано в 4м квартале будет.
интересно кде4 фичи эти уже использует, или пишут на 4.1


Название: mysql
Отправлено: SLiDER от Июль 02, 2006, 23:01
Цитата: "Sergey B."
интересно кде4 фичи эти уже использует, или пишут на 4.1


Да уж, я думаю, не без KDE-шных програмеров, это чудо буржуйской мысли сейчас ваяется. Насколько я знаю KDE Team и Trolltech очень тесно взаимодействуют и частенько пишут код друг для друга. Хотя оно и понятно.  :D


Название: mysql
Отправлено: crocus от Июль 03, 2006, 06:34
Кое-что добавил и перезалил http://source.foliant.net.ru/plugin.zip размер 270kb
Проверил- скачивается и распаковывается без косяков.


Название: mysql
Отправлено: QCasper от Август 02, 2006, 23:24
Цитата: "crocus"
Кое-что добавил и перезалил http://source.foliant.net.ru/plugin.zip размер 270kb
Проверил- скачивается и распаковывается без косяков.


короче ни хрена. По твоему методу куча анрезолвов. Если не править libmysql.def, т.е. не удалять @*, то все нормально, драйвер собирается, но понту от него никакого.

Народ попробуйте кто-нить собрать, а? Если получится, расскажите мне чем руки выпрямляются...

добавлено спустя 31 минуту:

 хм... заработало... тока я не в system32 его запихнул, а в папке со своей прогой создал папку sqldrivers и туда засунул... вот и думай блин теперь, че ж за нах то такой с этим эскюэлем, у одних так работает у других эдак, у третьих вообще не известно чего ожидать...


Название: mysql
Отправлено: crocus от Август 03, 2006, 06:49
Цитировать
По твоему методу куча анрезолвов. Если не править libmysql.def, т.е. не удалять @*, то все нормально, драйвер собирается, но понту от него никакого.

Не понял,  так ты удалял @* или нет?? А что касается libmysql.dll  в /system32, то действительно на разных машинах по-разному (у меня драйвер не определялся при запуске примеров), а еще прикол когда прога работающая с SqLite при запуске требует libmysql.dll- вообще не вкуриваю как такое может быть.


Название: mysql
Отправлено: QCasper от Август 03, 2006, 09:38
Цитата: "crocus"
Цитировать
По твоему методу куча анрезолвов. Если не править libmysql.def, т.е. не удалять @*, то все нормально, драйвер собирается, но понту от него никакого.

Не понял,  так ты удалял @* или нет?? А что касается libmysql.dll  в /system32, то действительно на разных машинах по-разному (у меня драйвер не определялся при запуске примеров), а еще прикол когда прога работающая с SqLite при запуске требует libmysql.dll- вообще не вкуриваю как такое может быть.


вобщем сначала сделал все как у тебя написано, каждый шаг проверяя по три раза. Когда дошло дело до make, мне сказали типа у тебя тут анрезолвед и не видать тебе плагина. Я пробовал создавать либу манипулируя ключами dlltool - убрал -k добавил -U убрал и то и другое - ни фига. Потом я создал еще раз def файлик, он есесно опять создался с @* и я их НЕ СТАЛ УДАЛЯТЬ. И, о чудо, плагин собрался. Дома у меня он не виделся, и проги стали работать когда я помещал его в папку sqldrivers рядом с прогой. А вот сейчас я сижу за другой машиной, и там все нормально увиделось, причем плагин единственным своим экземпляром лежит в кютешном каталоге плагинов (plugins/sqldrivers), т.е. не в system32, не рядом с прогой его нет.

добавлено спустя 19 минут:

 Я начинаю подозревать, что собака зарыта где-то рядом с переменными окружения. Значит на той машине, где у меня все пашет даже если плагин лежит ТОЛЬКО в кютешном каталоге драйверов, у меня две версии библиотеки, одна коммерческая, другая опенсорс. Обе 4.1.1. В переменных окружения все пути прописаны к коммерческой версии. Когда мне надо было поюзать опенсорс, я открывал консольку, которая запускала *.bat Файлик, где в path устанавливались пути к опенсорс, а именно это переменные QTDIR, PATH и QMAKESPEC=win32-g++ вместо win32-msvc. Именно таким образом я собирал плагин. Т.е. в системе все пути к коммерческой, но я открыл консоль там установил пути к опенсорс и собрал. Получив плагин я его распихал где только можно, - в system32, рядом с прогой в папке sqldrivers, просто рядом с прогой - никаких результатов, в списке доступных дров mysql не было. Причем заметьте, я запускал проги из консоли, в которой патч был прописан к опенсорс. Тогда я в системе исправил патч к опенсорс, и ПЕРЕСОБРАЛ ПЛАГИН, т.е. удалил его и собрал заново. Все заработало... плагин видно отовсюду, и лежит он ТОЛЬКО в plugins/sqldrivers...
Надо в твоем мануале в начале крупным красным шрифтом написать:
проверяйте чтобы все пути, которые только есть в системе указывали на какую-нить одну версию опенсорс Qt :)
Меня теперь, только oдин вопрос мучает, почему у тебя без @* собирается, а у меня с @* ...


Название: mysql
Отправлено: crocus от Август 03, 2006, 11:25
Вот это действительно непонятно, у меня обращение к функциям MySQL без @*
(C:\Qt\4.2.0\src\sql\drivers\mysql\qsql_mysql.cpp), а у тебя получается с.


Название: mysql
Отправлено: Admin от Август 03, 2006, 13:01
конструкция

export "С"{
}

нигде не используется?


Название: mysql
Отправлено: QCasper от Август 03, 2006, 22:45
Цитата: "Admin"
конструкция

export "С"{
}

нигде не используется?


в смысле? где например?

добавлено спустя 8 часов 31 минуту:

 цукко, это пипец нах, у меня просто слов нет, пришел домой драйвер не видит ни одна прога. Пресобрал, все сделал так как на работе - хрен бы блин, вот нет его и все тут... что за ж... то такая :(((

добавлено спустя 1 час 5 минут:

 Новый прикол. У меня теперь драйвер виден прогами, если его положить в папку %QTDIR%\demos\sqlbrowser\sqldrivers. Т.е. теперь чтобы моя прога заработала ее нужно тащить в каталог %QTDIR%\demos\sqlbrowser. Иначе, даже если драйвер рядом с ней положить, она тупо его не видит... истерический хохот...  :lol:


Название: mysql
Отправлено: crocus от Август 04, 2006, 02:31
Не пойму ты про какой драйвер говоришь  libmysql.dll или про qt-ный плагин,
и в качестве рекомендации- пересобери Qt c опцией -qt-sql-mysql


Название: mysql
Отправлено: QCasper от Август 04, 2006, 08:15
Цитата: "crocus"
Не пойму ты про какой драйвер говоришь  libmysql.dll или про qt-ный плагин,
и в качестве рекомендации- пересобери Qt c опцией -qt-sql-mysql


про плагин. Кстати я вчера еще раз нажал кнопку "собрать" :) ну имеется ввиду зашел в каталог сурцов и набрал make, плагин собрался и опять стал виден отовсюду... причем между этим шагом и предыдущим никаких значимых действий рводе не проводилось, например изменение переменных окружения. А кюте я до этого пересобирал с этой опцией, еще когда поднимали эту тему - тогда мне это тоже не помогло


Название: mysql
Отправлено: Nikol от Август 04, 2006, 14:53
если я правильно понял проблему(бо читать все посты лень)

в либе QtCore.dll() при компиляции (вроде только в бесплатной версии) промисуется путь типа "qt_plugpath=C:\Qt\4.1.0\plugins", если либа ложится в system32 и потом ставится qt4.1.1(c:\Qt\4.1.1\) то либу в system32 надо менять или патчить.
PS еще помоему QtSql4.dll не видит qmysqld.dll, а QtSql4d.dll qmysql.dll


Название: mysql
Отправлено: QCasper от Август 04, 2006, 23:12
Цитата: "Nikol"
если я правильно понял проблему(бо читать все посты лень)

в либе QtCore.dll() при компиляции (вроде только в бесплатной версии) промисуется путь типа "qt_plugpath=C:\Qt\4.1.0\plugins", если либа ложится в system32 и потом ставится qt4.1.1(c:\Qt\4.1.1\) то либу в system32 надо менять или патчить.
PS еще помоему QtSql4.dll не видит qmysqld.dll, а QtSql4d.dll qmysql.dll


по поводу менять и патчить. Я же выше писал, что плагин у меня работает как ему вздумается, вот нажал я кнопку собрать, он не работает, или работает только в конкретной папке. Нажал кнопку собрать через 10 минут, он вообще не работает, нажал еще через полчаса, он работает нормально. Это все в рамках одной версии Qt.
А насчет кто кого видит не видит, у меня собраны были оба плагина и дебаг и релиз, и все равно видимость такая как я уже описал.


Название: mysql
Отправлено: _govorilka от Август 05, 2006, 10:14
QCasper, если еще не разобрался с MySQL... Могу скинуть один исходник... Забирает данные из MySQL и ложит их в QTableWidget!
http://rapidshare.de/files/28244292/dbtable.zip.html


Название: mysql
Отправлено: QCasper от Август 06, 2006, 12:51
Цитата: "_govorilka"
QCasper, если еще не разобрался с MySQL... Могу скинуть один исходник... Забирает данные из MySQL и ложит их в QTableWidget!
http://rapidshare.de/files/28244292/dbtable.zip.html


хочешь сказать ему плагин не нужен?
и вообще, честно говоря, это конечно не решение...


Название: mysql
Отправлено: crocus от Август 07, 2006, 04:10
Предистория: скачал свежий снэпшот  4.2.0 собрал как обычно qt-sql-mysql  -ранее для корректного отображения кириллицы использовал библиотеку от PHP (клал в папку с прогой) , но сейчас прога выдала ошибку что в биб-ке не найдена точка входа в процедуру mysql_set_character_set. Удалил libmySQL.dll - прога запустилась, но русский отображаться перестал.
Решилось просто - ранее (и на  форуме информация была) использовали:
Код:
query.exec("SET NAMES utf8;");
заменил на
Код:
query.exec("SET NAMES utf8_general_ci;");
и все заработало как положено-- со стандартной биб-кой libmySQL.dll и с полной поддержкой русского.


Название: mysql
Отправлено: _govorilka от Август 07, 2006, 04:38
Цитата: "QCasper"

хочешь сказать ему плагин не нужен?
и вообще, честно говоря, это конечно не решение...


Файлы qsql_mysql.h, qsql_mysql.cpp - это и есть плагин для MySQL. Я просто удалил некоторые из него директивы, затем подключил через #include и все. С динамическим подключением плагина у меня тоже были проблемы.


Название: mysql
Отправлено: Alexei от Август 07, 2006, 08:07
Господа, столкнувшись примерно с таким же гемороем, решил собрать Qt статически.

configure.exe -debug-and-release -static -plugin-sql-mysql -qt-zlib -no-gif -qt-libpng -no-libmng -qt-libjpeg -no-qt3support

Предварительно, сделал маленькие изменения в файле mkspec\win32-msvc2005\qmake.conf:
у QMAKE_CFLAGS_RELEASE поставил -MT вместо, если не ошибаюсь, -MD
у QMAKE_CFLAGS_DEBUG поставил соответственно -MTd

К проекатм стал подключать плагины статически с помощью
Q_IMPORT_PLUGIN(QMYSQLDriverPlugin)

Более того, при линковке использую статическую библиотеку MySql mysqlclient.lib.
Фрагмент файла *.pro:

CONFIG(debug, debug|release) {
  RCC_DIR = tmp/debug/rcc
  UI_DIR = tmp/debug/ui
  MOC_DIR = tmp/debug/moc
  OBJECTS_DIR = tmp/debug/obj
  DESTDIR = tmp/debug
  win32 {
    LIBS += $(QTDIR)\plugins\sqldrivers\qsqlmysqld.lib c:\projects\mysql\lib\debug\mysqlclient.lib
  }
}

CONFIG(release, debug|release) {
  RCC_DIR = tmp/release/rcc
  UI_DIR = tmp/release/ui
  MOC_DIR = tmp/release/moc
  OBJECTS_DIR = tmp/release/obj
  DESTDIR = tmp/release
  win32 {
    LIBS += $(QTDIR)\plugins\sqldrivers\qsqlmysql.lib c:\projects\mysql\lib\opt\mysqlclient.lib
  }
}

При компиляции в release exe-шник получается размером примерно 8Mb. При упаковке pec2 (http://www.bitsum.com/pec2.asp) размер сокращается до 2Mb. Кстати, в release я выставляю Postbuild Event команду:
pec2 $(TargetDir)/$(TargetFileName) /Q /Nb
чтобы при сборке автоматически делалась компрессия exe-шника.
Если убрать из линковки манифест, то полученный exe-файл не требует вообще никаких дополнительных файлов.
Для меня это очень удобно, может, и вам понравится.


Название: mysql
Отправлено: Nikol от Август 07, 2006, 10:49
Цитата: "QCasper"


 Я же выше писал, что плагин у меня работает как ему вздумается, вот нажал я кнопку собрать, он не работает, или работает только в конкретной папке.


о чем я и говорю, гдето есть библиотека где пути прописаны прямые и не туда куда ты хочеш. Я бы проверил что написано в переменной PATH и что лежит по этим путям

ав QtSql4.dll есть

QSqlDatabase(driver=".".", database=".", host=".", port=., user=".", open=.true.false.)./sqldrivers


Название: mysql
Отправлено: QCasper от Август 07, 2006, 15:01
Цитата: "Nikol"
Цитата: "QCasper"


 Я же выше писал, что плагин у меня работает как ему вздумается, вот нажал я кнопку собрать, он не работает, или работает только в конкретной папке.


о чем я и говорю, гдето есть библиотека где пути прописаны прямые и не туда куда ты хочеш. Я бы проверил что написано в переменной PATH и что лежит по этим путям

ав QtSql4.dll есть

QSqlDatabase(driver=".".", database=".", host=".", port=., user=".", open=.true.false.)./sqldrivers


где-то есть какая билиотека?
Я проверял патч, у меня там путь к Qt/bin, mysql/bin, mingw/bin.