Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Разработка баз данных _ qt-win-eval-4.4.0-vs2005 && mysql

Автор: genusatplay 8.11.2008, 15:26

QT - qt-win-eval-4.4.0-vs2005
Подскажите плиз как подключить драйвер QMYSQL.
в папке "$Qt\plugins\sqldrivers\" содержаться файлы:
qsqlmysql4.dll
qsqlmysql4.lib
qsqlmysql4.dll.manifest
qsqlmysqld4.dll
qsqlmysqld4.lib
qsqlmysqld4.dll.manifest
и др. плагины для sqlite,psql,odbc
все плагины были установлены по умолчанию.

qDebug() << a.libraryPaths();
qDebug() << qVersion();    
QStringList sqldrivers = QSqlDatabase::drivers();
qDebug() << sqldrivers;

выдает:
("J:/Qt/plugins", "D:/gos/path/debug")
4.4.0
("QSQLITE", "QODBC3", "QODBC", "QPSQL7", "QPSQL")

судя по qsqlmysqld4.dll.manifest, qsqlmysqld4.dll откомпилен под 2005 студию
qsqlmysqld4.dll.manifest:
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Microsoft.VC80.DebugCRT' version='8.0.50727.762'
processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
</assembly>

Автор: Litkevich Yuriy 8.11.2008, 15:46

было в форуме большое обсуждение по MySQL, читал?

Автор: genusatplay 8.11.2008, 16:12

Цитата(Litkevich Yuriy @ 8.11.2008, 15:46) *
было в форуме большое обсуждение по MySQL, читал?

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

Автор: Litkevich Yuriy 8.11.2008, 16:28

можно попробывать кэш плагинов почистить, т.е. убить в реестре ветку:
HKEY_CURRENT_USER\Software\Trolltech

Автор: genusatplay 8.11.2008, 17:20

Цитата(Litkevich Yuriy @ 8.11.2008, 16:28) *
можно попробывать кэш плагинов почистить, т.е. убить в реестре ветку:
HKEY_CURRENT_USER\Software\Trolltech

к сожалению непомогло, зато нашел в этой папке:
HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults\Qt Factory Cache 4.4\com.trolltech.Qt.QSqlDriverFactoryInterface:\J:\Qt\plugins\sqldrivers
3 ключа мультистрокового типа
qsqlited4.dll =
"2008-04-24T06:35:54
QSQLITE"

qsqlodbcd4.dll =
"2008-04-24T06:35:44
QODBC3
QODBC"

qsqlpsqld4.dll =
"2008-04-24T07:15:36
QPSQL7
QPSQL"


добавил по образу и подобию qsqlmysqld4.dll =
"2008-04-24T07:15:36
QMYSQL"
перезашел в студию, но серавно незаработало

Автор: Litkevich Yuriy 8.11.2008, 17:37

genusatplay, а сейчас вроде у тролей нет эвалюшена, может тебе Open Source попробывать?
ну или в http://trolltech.com/developer/task-tracker им написать, отвечают довольно быстро

Автор: genusatplay 8.11.2008, 18:02

Цитата(Litkevich Yuriy @ 8.11.2008, 17:37) *
genusatplay, а сейчас вроде у тролей нет эвалюшена, может тебе Open Source попробывать?
ну или в http://trolltech.com/developer/task-tracker им написать, отвечают довольно быстро

в опен сорсе есть интеграция с студией?

Автор: Litkevich Yuriy 8.11.2008, 18:06

Цитата(genusatplay @ 8.11.2008, 21:02) *
в опен сорсе есть интеграция с студией?
нет, но встудии работать сможешь, проект для студии создавать прийдется руками, либо ждать когда Эдик добъет свой http://www.forum.crossplatform.ru/index.php?showforum=28.
несможешь из в студии создавать GUI - надо будет Qt Designer запускать, справку тоже смотреть в Qt Assistant'е

Автор: genusatplay 8.11.2008, 18:27

Цитата(Litkevich Yuriy @ 8.11.2008, 17:37) *
genusatplay, а сейчас вроде у тролей нет эвалюшена

тока что пришло письмо с сылками и ключем на 30 дней...

Автор: Litkevich Yuriy 8.11.2008, 18:30

Цитата(genusatplay @ 8.11.2008, 21:27) *
тока что пришло письмо с сылками и ключем на 30 дней...
дак может сйчас все заработает? Только кэш почисть, не добавляя ничего, просто удали ветку.
А координат для связи нету в письме, надо им сразу писать если что-то не так.

Автор: genusatplay 8.11.2008, 20:58

Цитата(Litkevich Yuriy @ 8.11.2008, 18:30) *
Цитата(genusatplay @ 8.11.2008, 21:27) *
тока что пришло письмо с сылками и ключем на 30 дней...
дак может сйчас все заработает? Только кэш почисть, не добавляя ничего, просто удали ветку.
А координат для связи нету в письме, надо им сразу писать если что-то не так.

нифига =(
а можешь глянуть сколько у тебя ключей в ветке:
[HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults\Qt Factory Cache 4.4\com.trolltech.Qt.QSqlDriverFactoryInterface:\"путь к папке QT"\plugins\sqldrivers]

Автор: ViGOur 8.11.2008, 21:11

Почитай: http://www.crossplatform.ru/documentation/qtdoc4.3/sql-driver.php#troubleshooting, должно помочь.

У меня в свое время было:

Цитата
Если у вас возникли проблемы с загрузкой плагинов, и вы видите ошибку вроде этой:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QMYSQL

проблема вероятно в том, что плагин имеет неправильный ключ сборки. Для отладки удалите соответствующую запись в $HOME/.qt/qt_plugins_(qtversion).rc файле.
после удаления записи все стало в порялке.

Автор: genusatplay 8.11.2008, 21:23

Цитата(ViGOur @ 8.11.2008, 21:11) *
Для отладки удалите соответствующую запись в $HOME/.qt/qt_plugins_(qtversion).rc файле.

где такой файл найти? я чета у себя ненашел

Автор: ViGOur 8.11.2008, 21:35

$HOME в винде %USERPROFILE% У меня это C:\Documents and Settings\ViGOur

Получается, что полный путь C:\Documents and Settings\ViGOur\.qt\qt_plugins_4.4.0.rc (примерно так)

Да, папка .qt вроде скрытая... ;)

Автор: Litkevich Yuriy 8.11.2008, 21:43

в современной доке нет этой строчки, там так написано:

Цитата
The problem is usually that the plugin had the wrong build key. This might require removing an entry from the plugin cache. Here is some more plugin debugging info.


ViGOur, это видимо только к комерческой/эвалюшен версии относится, у меня нет такого каталога.

Цитата(genusatplay @ 8.11.2008, 23:58) *
а можешь глянуть сколько у тебя ключей в ветке:
У меня нет драйвера интрбеза, поэтому ключа только 4 (два sqlite и два odbc)

genusatplay, ты ветку в реестре сносил полностью?

Автор: genusatplay 8.11.2008, 21:52

Цитата(ViGOur @ 8.11.2008, 21:35) *
$HOME в винде %USERPROFILE% У меня это C:\Documents and Settings\ViGOur

Получается, что полный путь C:\Documents and Settings\ViGOur\.qt\qt_plugins_4.4.0.rc (примерно так)

Да, папка .qt вроде скрытая... ;)

я в total commander'е(галочка палить скрытые стояла) через поиск по маске искал.. "*.qt*" тово что нужно ненашел..

Цитата(Litkevich Yuriy @ 8.11.2008, 21:43) *
genusatplay, ты ветку в реестре сносил полностью?

я ее забэкапил на всякий случай и полностью убил.
после запуска студии qt часть ключей восстанавливал, но серавно неработало.

Автор: Litkevich Yuriy 8.11.2008, 22:26

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

Автор: genusatplay 8.11.2008, 22:39

Цитата(Litkevich Yuriy @ 8.11.2008, 22:26) *
ну тогда пиши тролям, пущай объясняют, как с эвалюшеном совладать, а то человек взял расхваленый инструмент, а он неисправен.

гы.. прописал в реестр драйвера sql по правильному.. даты файлов нормальные и тд
терь при коннекте выдает :
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL3 QMYSQL QODBC3 QODBC QPSQL7 QPSQ

показывать показывает.. но неработает =)

Автор: AD 8.11.2008, 22:45

Цитата(genusatplay @ 8.11.2008, 22:39) *
гы.. прописал в реестр драйвера sql по правильному.. даты файлов нормальные и тд
терь при коннекте выдает :
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL3 QMYSQL QODBC3 QODBC QPSQL7 QPSQ

показывать показывает.. но неработает =)

Сорри, а что не работает? Любое действие с БД? Или же только QSqlTableModel? Если не работает с последним, попробуй с QSqlQuery?

Автор: genusatplay 8.11.2008, 22:48

Цитата(AD @ 8.11.2008, 22:45) *
Цитата(genusatplay @ 8.11.2008, 22:39) *
гы.. прописал в реестр драйвера sql по правильному.. даты файлов нормальные и тд
терь при коннекте выдает :
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL3 QMYSQL QODBC3 QODBC QPSQL7 QPSQ

показывать показывает.. но неработает =)

Сорри, а что не работает? Любое действие с БД? Или же только QSqlTableModel? Если не работает с последним, попробуй с QSqlQuery?

qt у меня не видит драйвер QMYSQL
тока када я сам в реестр вписал он стал выводить и QMYSQL но к базе не коннектится.

Автор: dns777 13.11.2008, 8:58

Цитата
Скопируйте файл libmysql.dll из каталога установки бинарей MySQL в каталог указанный в переменной окружения %PATH% (т.е. %QTDIR%/bin).

Автор: genusatplay 15.11.2008, 11:52

Цитата(dns777 @ 13.11.2008, 8:58) *
Цитата
Скопируйте файл libmysql.dll из каталога установки бинарей MySQL в каталог указанный в переменной окружения %PATH% (т.е. %QTDIR%/bin).


большое спасибо

Автор: ilich87 30.4.2009, 16:21

Цитата(genusatplay @ 15.11.2008, 11:52) *
Цитата(dns777 @ 13.11.2008, 8:58) *
Цитата
Скопируйте файл libmysql.dll из каталога установки бинарей MySQL в каталог указанный в переменной окружения %PATH% (т.е. %QTDIR%/bin).


большое спасибо

спасибо хоть и много времени прошло но я 2 дня сидел над ентой проблемой кучу всего перечитал и перепробовал спасибо чуваки !!!

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)