Название: очередное Driver not loaded Отправлено: Ayanami_Rey от Январь 05, 2011, 22:18 прочитал все что тут было по данной тематике но мою проблему не решило.
проект на Qt 4.7.0 + mingw под винХП собираю mysql по такой технологии: cd C:\MySQL\include dlltool -d libmysql.def -D libmysql.dll -l libmysql.a -k cd C:\Qt\qt\src\plugins\sqldrivers\mysql qmake -o Makefile "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MySQL\lib\opt\libmysql.lib" mysql.pro mingw32-make добавляю в pro файл QT += core gui sql CONFIG += release в main файле пишу QApplication a(argc, argv); a.setLibraryPaths(QStringList()<<QDir(a.applicationDirPath()+"//plugins//").absolutePath()); QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); if (!db.open()) { ... } плагин к mysql лежит в <папка экзешника>/plugins/sqldrivers/qsqlmysql4.dll libmysql лежит возле ехешника ну и как понимаете появляется всеми любимая ошибка Driver not loaded смотрел в реестре ветку HKEY_CURRENT_USER\Software\Trolltech. при нормальном соединении с плагинами должно появлятся 2 записи: OrganizationDefaults\Qt Factory Cache 4.7 и OrganizationDefaults\Qt Plugin Cache 4.7.false с путями к плагину, у меня же создается только Qt Plugin Cache 4.7.false. причем если докинуть, например, одбц плагин, то одбц подключается отлично и в реестре все нормально пишется, хоть на моей машине, хоть на какой, а вот именно мускул работать не хочет :( пробовал различные вариации на тем: a.setLibraryPaths(QString("./plugins/")) как с полными путями так и без... результат такой же. смотрел с помощью depends никуда кроме указанных путей программа не лезет, во время выполнения пишет Код: Loaded "QSQLMYSQL4.DLL" at address 0x6C8C0000. Successfully hooked module. Название: Re: очередное Driver not loaded Отправлено: pastor от Январь 05, 2011, 23:08 Посмотри зависимости qsqlmysql4.dll
Название: Re: очередное Driver not loaded Отправлено: CuteBunny от Январь 06, 2011, 09:09 Запускали тулзу со списком установленных драйверов?
Просто я после того, как собираю драйвер для мускуля, обязательно запускаю эту тулзу, чтобы удостовериться лишний раз, что все ок. Название: Re: очередное Driver not loaded Отправлено: Ayanami_Rey от Январь 06, 2011, 09:56 qsqlmysql4.dll собирается без левых зависимостей. Проверял.
Название: Re: очередное Driver not loaded Отправлено: fuCtor от Январь 06, 2011, 17:05 В поле видимости должен быть файл libmysql.dll (положите его сразу в %QTDIR%/bin)
Уже наступал ни раз на эти грабли Название: Re: очередное Driver not loaded Отправлено: Ayanami_Rey от Январь 06, 2011, 17:17 дык проблема то на чистой машине. нету там и в помине %QTDIR%/bin.
на моей машине все идет нормально. Название: Re: очередное Driver not loaded Отправлено: fuCtor от Январь 06, 2011, 19:34 значит рядом с exe файлом кинуть, главное чтоб по стандартным путям (переменная PATH + рабочая папка) этот файл можно было найти.
Название: Re: очередное Driver not loaded Отправлено: Ayanami_Rey от Январь 06, 2011, 20:02 да лежит эта дллка возле ехешника. пробовал и в систем32 запихивать. толку 0
Название: Re: очередное Driver not loaded Отправлено: fuCtor от Январь 06, 2011, 20:09 может какие-нибудь особенности вызванные линковкой с libmysql.lib при сборке плагина и mingw.
Тут уже даж и нет больше вариантов, т.к. собираю студией и проблем не было никаких. Название: Re: очередное Driver not loaded Отправлено: Ayanami_Rey от Январь 06, 2011, 20:35 на счет того что криво собирается мускул плагин я тоже думал, но ведь делаю как написано в мануале, а не просто так...
мб ключ сборки не соответствует ключу моего приложения? тогда как это посмотреть? Название: Re: очередное Driver not loaded Отправлено: ASeN от Январь 08, 2011, 15:11 Попробуй так: <папка экзешника>/sqldrivers/qsqlmysql4.dll
Название: Re: очередное Driver not loaded Отправлено: Ayanami_Rey от Январь 09, 2011, 20:23 пробовал. та-же херня.
Название: Re: очередное Driver not loaded Отправлено: Ayanami_Rey от Январь 10, 2011, 11:20 Всем спасибо!
Проблема была в кривой библиотеке libmysql.dll Название: Re: очередное Driver not loaded Отправлено: vvvxmag от Февраль 04, 2011, 21:45 У меня также вопрос по поводу driver not loaded, но ситуация другая.
Есть база MS Access используется только на чтение (по крайней мере я обращаюсь только с SELECT) Программа и база записаны на CD-R при запуске, выдается сообщение driver not loaded. Если скопировать содержимое диска на винт и запустить, то все в порядке. Ума не приложу почему возникает данная ошибка. Название: Re: очередное Driver not loaded Отправлено: vvvxmag от Февраль 05, 2011, 22:23 Нашел причину возникновения ошибки.
Она возникает из-за того, что при открытии базы создается файл *.ldb А создать его на CD-R невозможно. Как открыть базу MS Access таким образом, чтобы не создавался файл *.ldb ? Название: Re: очередное Driver not loaded Отправлено: vvvxmag от Февраль 07, 2011, 08:25 Нашел решение. Для того чтобы открыть БД MS Access без создания фалй ldb, необходимо открыть ее в режиме монопольного(exclusive) доступа.
Для этого необходимо в connection string прописать следующее Для драйвера ODBC Exclusive=1; Для других драйверов можно посмотреть на www.connectionstrings.com (http://www.connectionstrings.com) Название: Re: очередное Driver not loaded Отправлено: vvvxmag от Февраль 07, 2011, 13:12 Проблемы продолжаются.
Раньше возникала ошибка Driver not Loaded Теперь ругается Не удалось открыть файл базы данных - [Microsoft][Драйвер ODBC Microsoft Access] Невозможно найти устанавливаемый ISAM. QODBC3: unabled to connect Эта ошибка возникает только если пытаться запустить с CD диска. Если скопировать на винт, то все работает. На машине где программа собиралась работает и с диска тоже. |