Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ошибка с драйвером БД
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Разработка баз данных
AD
Происходит ошибка при запуске моего приложения на других машинах. Как исправить эту ошибку?
Ошибка следующая:
Нажмите для просмотра прикрепленного файла
Ошибка получена с помощью QSqlDatabase::database().lastError()
fsMark
А у тебя плагин драйвера на этой машине есть?
Посмотри список доступных драйверов бд..
Litkevich Yuriy
Qt-Плагина соответствующего нет. Ты вроде в курсе как их с собой таскать.
AD
Цитата(Litkevich Yuriy @ 15.10.2008, 14:24) *
Qt-Плагина соответствующего нет. Ты вроде в курсе как их с собой таскать.

мдя, блин.... Как его все-таки подключить правильно?

QString pluginsPath = qApp -> applicationDirPath() + QDir::separator() + "Plugins";
pluginsPath = pluginsPath.toLower();
qApp -> addLibraryPath(pluginsPath);

Вышеприведенного кода недостаточно... Что же еще надо сделать?
Litkevich Yuriy
я не использовал toLower()
И такой вопрос: Ты структуру каталогов сохраняешь в Plugins?

П.С. я тут мануальчик написал
AD
Цитата(Litkevich Yuriy)
я не использовал toLower()
И такой вопрос: Ты структуру каталогов сохраняешь в Plugins?

П.С. я тут мануальчик написал

Не понимаю, какую структуру каталогов?

Мануальчик как-то не очень помог! :( Очень срочно надо добиться того, чтобы приложение работало на машине без Qt!!! Пожалуйста, помогите как-нибудь.
Litkevich Yuriy
в каталоге %QTDIR%/Plugins/ лежат другие каталоги, вот структуру каталога %QTDIR%/Plugins/ и надо сохранить, т.е. не валить все dll'ки в одну кучу (в каталог %PATH_TO_APP%/QtPlugins/)

к стати не забудь перед новым эксперементом на целевой машине почистить кэш плагинов в реестре
AD
Цитата(Litkevich Yuriy @ 15.10.2008, 16:04) *
в каталоге %QTDIR%/Plugins/ лежат другие каталоги, вот структуру каталога %QTDIR%/Plugins/ и надо сохранить, т.е. не валить все dll'ки в одну кучу (в каталог %PATH_TO_APP%/QtPlugins/)

к стати не забудь перед новым эксперементом на целевой машине почистить кэш плагинов в реестре

Как именно почистить? %PATH_TO_APP% что за переменная? можно с примером, пожалуйста? Возможно что-то упустил, надо видеть все....

Получилось! :clapping:

Ребята, будьте внимательны:
кроме указанных строчек кода:
QDir dir(qApp -> applicationDirPath() + QDir::separator() + "plugins" + QDir::separator());
QStringList list_plugins;
list_plugins << dir.absolutePath() << a.libraryPaths();
a.setLibraryPaths(list_plugins);
©
Необходимо в папочке plugins создавать необходимые папочки и уже только туда класть dll!
В моем случае это
plugins/sqldrivers

Цитата(Litkevich Yuriy @ 15.10.2008, 15:01) *
П.С. я тут мануальчик написал

Юра, в статье следует указать, что необходимо соблюдать иерархию каталогов для драйверов. Это не очевидно из статьи, а это очень влияет на работу приложения! :)
Litkevich Yuriy
Цитата(AD @ 15.10.2008, 19:34) *
Юра, в статье следует указать, что необходимо соблюдать иерархию каталогов для драйверов. Это не очевидно из статьи, а это очень влияет на работу приложения!


из мануала:
Цитата
Но, обязательно, сохраните структуру вложеных каталогов!


сделаю шаблон "Внимание" и "Замечание" потом статью подправлю
loro
Спасибо за статью, очень помогло.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.