Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Driver not loaded, SQLite. 
V
    Опции темы
Avaj
Дата 24.8.2009, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 14.7.2008
Где: Владивосток.

Репутация: нет
Всего: 3



При запуске приложения с использованием базы sqlite, на компе без qt, происходит ошибка: Driver not loaded. 

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

PS. Драйвер не собирал, т.к. для SQLite он уже есть в комплекте с QT.
PM MAIL   Вверх
Acer
Дата 24.8.2009, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 5.9.2007
Где: UA::DN

Репутация: 15
Всего: 8



Код

QApplication app( argc, argv );
app.addLibraryPath( "path/to/plugins/sqldrivers" );

Например, делаем в директории с *.exe папочку libraries/sqldrivers, которая содержит в себе qsqlite4.dll
и пишем
Код

app.addLibraryPath( "./libraries" );


Это сообщение отредактировал(а) Acer - 24.8.2009, 19:37
PM MAIL   Вверх
Avaj
Дата 25.8.2009, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 14.7.2008
Где: Владивосток.

Репутация: нет
Всего: 3



Не получается нифига  smile .

Ведь по идее должно работать, если qsqlite4.dll находится в той же директории?

Ну если так как ты предлагаешь (нашёл подобную тему):

Например моё приложение app1.exe находится в C:\My_app.

Тогда в main.cpp должна быть такакя строка:

Код


app.addLibraryPath(app.applicationDirPath() + "\libraries");



но и так не работает.

И ещё, когда появляется окно с сообщением об ошибке, то сообщение "Driver not loaded" в нём напечатано 2 раза, т.е: "Driver not loaded   Driver not loaded", хотя код обработки ошибки такой:

Код


try{

        if(!db->open()) throw 42;

    }

    catch(int){

        QMessageBox::critical(0, QObject::tr("Database Error"), db->lastError().text());

        exit(2);

    }





И есть ли в данном случае разница между конфигурациями debug и release?
PM MAIL   Вверх
ecspertiza
Дата 25.8.2009, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: 4
Всего: 5



Цитата(Avaj @  25.8.2009,  14:22 Найти цитируемый пост)
Ведь по идее должно работать, если qsqlite4.dll находится в той же директории?


Насовсем, если папочка sqldrivers с нужными драйверами находится в той же директории что и .exe

а если ты в main пишешь 
Код

app.addLibraryPath(app.applicationDirPath() + "\libraries");


насколько я понимаю то у тебя в директории где лежит .exe должна быть папочка libraries в ней папочка sqldrivers а там уже все драйвера.



--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
Avaj
Дата 25.8.2009, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 14.7.2008
Где: Владивосток.

Репутация: нет
Всего: 3



ecspertiza
Цитата

Насовсем, если папочка sqldrivers с нужными драйверами находится в той же директории что и .exe
 - всё равно не работает. smile 

Я подозреваю, что не хватает чего-то ещё.

Чего может не хватать, если при запуске на WinXP c Qt всё нормально, а без - "Driver not loaded   Driver not loaded"?

В папке с exe-файлом есть:

Файл бд,

mingwm10.dll,

QtGuid4.dll,

QtCored4.dll,

QtSqld4.dll,

папка sqldrivers с драйвером,( или папка libs с папкой sqldrivers с драйвером)

и всё.

Чего-то не хватает?

Это сообщение отредактировал(а) Avaj - 25.8.2009, 15:57
PM MAIL   Вверх
ecspertiza
Дата 25.8.2009, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: 4
Всего: 5



А у тебя сборка какая debug или release? Насколько я вижу по dll debug ?

Приведи список всех файлов в папке sqldrivers.


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
Avaj
Дата 26.8.2009, 03:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 14.7.2008
Где: Владивосток.

Репутация: нет
Всего: 3



Цитата

Приведи список всех файлов в папке sqldrivers.


- qsqlite4.dll.
PM MAIL   Вверх
ecspertiza
Дата 26.8.2009, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: 4
Всего: 5



Ну вот а у тебя должен быть qsqlited4.dll, т.к. у тебя сборка проекта в debug.

В общем суть примерно такова что если собираешь проект в debug сборке то тебе понадобиться dll  с постфиксом "d" то есть например

*d.dll

Код

QtGuid4.dll,
QtCored4.dll,
QtSqld4.dll,
qsqlited4.dll


а если сборка release то без этого постфикса *.dll

Код

QtGui4.dll,
QtCore4.dll,
QtSql4.dll,
qsqlite4.dll


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


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
Avaj
Дата 26.8.2009, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 14.7.2008
Где: Владивосток.

Репутация: нет
Всего: 3



Цитата

В общем суть примерно такова что если собираешь проект в debug сборке то тебе понадобиться dll  с постфиксом "d" то есть например
 - я знаю, но не работает и release.
PM MAIL   Вверх
ecspertiza
Дата 26.8.2009, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: 4
Всего: 5



Собери минимальный пример в release и выложи сюда.


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
Avaj
Дата 27.8.2009, 04:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 14.7.2008
Где: Владивосток.

Репутация: нет
Всего: 3



Выложил:

exe-файл - один виджет, на нём пустая SQLite - таблица,

Databasename.db - база,

ну и исходники (Не пинайте сильно smile ) 


dll нужны?

Присоединённый файл ( Кол-во скачиваний: 30 )
Присоединённый файл  test_app.rar 15,39 Kb
PM MAIL   Вверх
ecspertiza
Дата 27.8.2009, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: 4
Всего: 5



Я ещё твой проект не смотрел, но вот щас вспомнил у тебя в папке с exe-шником ещё должна лежать fbclient.dll, она в папке  firebird будет.


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
just_geek
Дата 27.8.2009, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 309
Регистрация: 13.12.2007

Репутация: 7
Всего: 10



А на кой черт ему fbclient? Если у него sqlite

Avaj
Напиши подрбно что ты делаешь, какие файлы и куда ложишь. А то что-то не понятно до конца smile
PM MAIL   Вверх
ecspertiza
Дата 27.8.2009, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: 4
Всего: 5



Цитата(just_geek @  27.8.2009,  16:58 Найти цитируемый пост)
А на кой черт ему fbclient? Если у него sqlite


Да точно, извеняй я туплю, день тяжёлый c огнептицей был.

Вот попробуй запусти, у меня работает на нескольких компах, КуТе на них не стоит.

Если пойдёт значит у тебя проблема с дллками.

Это сообщение отредактировал(а) ecspertiza - 27.8.2009, 22:36

Присоединённый файл ( Кол-во скачиваний: 119 )
Присоединённый файл  testsqlite.rar 748,72 Kb


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
Avaj
Дата 28.8.2009, 02:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 14.7.2008
Где: Владивосток.

Репутация: нет
Всего: 3



Ну и всё.

ecspertiza, твой пример работает и у меня, из-за более старой версии драйвера - 4.5.0.0. (у меня был 4.5.1.0), видимо это какой-то баг.

Всем спасибо. Закрыто.
PM MAIL   Вверх
suslik314
Дата 11.8.2010, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 11.8.2010

Репутация: нет
Всего: нет



Здравствуйте!
Столкнулся с тойже проблемой. Без установленного Qt пишет эту же ошибку при запуске. Все dll лежат с экзешником в том числе и qsqlite4.dll. Версия Qt 4.6.3. Скачал ваши прилепленные файлы и непойму чем они так выделяются...
PM MAIL   Вверх
suslik314
Дата 11.8.2010, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 11.8.2010

Репутация: нет
Всего: нет



Мдя... все решилось просто. На чухонских сайтах первый ответ - надо просто иметь папку sqldrivers в корне экзешника и туда положить все dll. относится это ко всем другим плагинам
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.1444 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.