Russian Qt Forum
Ноябрь 22, 2024, 22:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Запуск приложения, Driver not loaded.  (Прочитано 13362 раз)
Fir1
Гость
« : Апрель 17, 2008, 00:38 »

Всем добрый что-там-у-Вас)
Ситуация следующая, написал приложеньице с Qt4, которое работает с СУБД Oracle 10g. Собрал, запустил ( на той же машине где и сервер оракловский стоит), работает, как ни странно =)
Перекинул на соседнею машинку под ВинХП, где нет Оракла ентого и в помине, укомплектовал Oracle Instant Client с сервера забугорного скачанным, прописал в переменную PATH путь до него. В общем всё по руководству оффициальному. Ан нет! Не робит) При подключении к базе, QSqlDatabase.lastError() выдает сообщение, мол, звиняй Driver not loaded.
В чем я не прав тут, подскажите?
« Последнее редактирование: Апрель 17, 2008, 00:42 от Fir1 » Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #1 : Апрель 17, 2008, 00:41 »

А что говорит поиск по форуму насчет Driver not loaded?
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Fir1
Гость
« Ответ #2 : Апрель 17, 2008, 00:49 »

Поиск вещал мне побробовать этот самый Instant Client, также закинуть в подпапку /sqldrivers собранные мною dll для Oracle и саму оракловскую oci.dll в корень с exe'шником.
Всё сделал, по нулям... Вот и призадумался.
Завтра еще раз проверю всё, может где напутал что конечно, но вроде всё было сделано четко.
Записан
Fir1
Гость
« Ответ #3 : Апрель 17, 2008, 09:14 »

Ура! Проблема решилась, не те библиотечки в /sqldrivers закинул. Теперь я вышел на след уровень - ошибка QOCI : Unable to logon. Инстант клиент все еще стоит. В паре веток на форуме по этой ошибке люди куда-то пропадали в процессе обсуждения. Доживших до решения не было вовсе?)

PS. Попробовал поставить Oracle Client XE (не Instant), хотя это и не вариант решения проблемы. Такой же результат (предварительно снес упоминания об инстант клиенте из пременных, как и реккомендованно.
Записей в логе на сервере о попытках подключения не появлялось, что в целом предсказуемо.

PSS. У меня тут зародились смутные подозрения. А Express Edition вообще поддерживает работу по сети? Что-то про это не указано в пресс-релизе.

PSSS. Как я понял работать по сети может. Понял это подключившись с помощью SQL Command Line.
« Последнее редактирование: Апрель 17, 2008, 13:58 от Fir1 » Записан
Fir1
Гость
« Ответ #4 : Апрель 17, 2008, 16:30 »

Продолжаю ведение бортового журнала)
17.04.2008 н.э., 4 часа дня:
Удалось запустить приложение вместе с установленным Oracle Client. Достаточно было просто закинуть файл tnsnames.ora в папке и ЕХЕ-шником. Не прописываю путь к нему ни в какие переменные причем.

Вопрос: как теперь приучить работать без Oracle Client'а. Например, с Instant Client.

Как уже писал я выше все необходимые операции, а именно:
- распаковка.
- добавление пути в переменную PATH
происзвел.
Больше на офф. сайте ничего не сказано делать.
Что не так?
Записан
$pirit
Гость
« Ответ #5 : Апрель 17, 2008, 17:19 »

А в сервисах листенер зарушен и вообще запущены ли службы оракла?
Покажи что находится в файле "sqlnet.log" должен появится в папке с прогой, если что-то не так.
Записан
Fir1
Гость
« Ответ #6 : Апрель 19, 2008, 13:00 »

Всё чудесатей и чудесатее, запустил с Инстант Клиентом. Оказывается оно не желало запускаться, т.к. в пути к онному встречались языческие кириллические символы)
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #7 : Апрель 19, 2008, 18:41 »

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

Юра.
Вячеслав
Гость
« Ответ #8 : Апрель 19, 2008, 23:26 »

ну это нормально для большенства софтин, я уже давно взял за правило  имена с досовскими ограничениями писать.
Эх блин Подмигивающий Заходи в гости Подмигивающий Тут одно умное чудило пытаеться (у нас в конторе) СТП пропихнуть, где прописано что прога должна быть помещена в папку с названиеи соответствующим ее(проги) децимальному номеру Подмигивающий  шо-то типа ДНИЯ.12345678-0987.123-01 ВАХ Грустный Два раза был послан в пеший эротический тур но никак не успокоиться ....
ЗЫ - сорри за офтоп
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #9 : Апрель 20, 2008, 07:02 »

Эх блин Подмигивающий Заходи в гости Подмигивающий Тут одно умное чудило пытаеться (у нас в конторе) СТП пропихнуть, где прописано что прога должна быть помещена в папку с названиеи соответствующим ее(проги) децимальному номеру Подмигивающий  шо-то типа ДНИЯ.12345678-0987.123-01 ВАХ Грустный Два раза был послан в пеший эротический тур но никак не успокоиться ....
ЗЫ - сорри за офтоп

работал я во многих КБ, там так и сделано, на серваке, но не для прог, а для данных, это нормально если нет человека(ов) который бы "АСУ документов" занимался
Встречал в жизни, правда одну, в Тюмени, контору, где 8 человек занимаются только этой темой, там были разные варианты доступа к серваку, в частности через веб интерфейс, а в реалиях все в БД лежит, очень удобно было работать. Да еще и система контроля версий для всех файлов.
Такой интерфейс на всех или почти на всех ОСьках можно реализовать.

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

Юра.
dbuserQt
Гость
« Ответ #10 : Март 31, 2017, 09:56 »

Добрый день!

Аналогичная ситуация, только для приложения подключающего в PostgreSQL.
Приложение написано на Qt4, работает с СУБД PostgreSQL 9.5. На компьютере Win XP с Qt Creator и собранными драйверами все работает.

Но при запуске на чистой win7 через lastError выводится Driver not loaded Driver not loaded

Через Dependency Walker проверены все зависимости, добавлены ненайденные библиотеки. Путь к приложению из латинских букв. Не помогло выделение драйвера БД в отдельный каталог ./sqldrivers.

Подскажите, пожалуйста, что нужно поставить на чистой Windows чтобы приложение работало? или как правильно собрать приложение в Qt Creator?
Записан
dbuserQt
Гость
« Ответ #11 : Март 31, 2017, 10:12 »

В данном случае, играет роль в какой платформе был собран проект?
Сейчас приложение собирается под Win XP x32, тестируется на Win7 x64. СУБД стоит на Ubuntu 16. При этом приложение корректно работает под Win XP, а под Win 7 не находит драйвер. Если запускать в Win 7 x64 нужно собирать библиотеки (драйвера) под x64?

Подсмотрено в теме http://www.prog.org.ru/topic_17100_0.html
Записан
dbuserQt
Гость
« Ответ #12 : Март 31, 2017, 11:01 »

Найдено решение.
1. В исходном коде до строчки
Код:
QApplicaton a (argc, argv);

добавить путь к каталогу с библиотеками
Код:
    QStringList paths = QCoreApplication::libraryPaths();
    paths.append(".");
    paths.append("sqldrivers");
    QCoreApplication::setLibraryPaths(paths);

2. Пересобрать приложение и перенести в тестовую среду
3. Рядом с исполняемом файлом создать каталог ./sqldrivers и поместить в него библиотеку qsqlpsql4.dll
4. Проверить на зависимые библиотеки через Dependency Walker как исполняемый файл так и библиотеку sql-драйвера
5. Добавить недостающие библиотеки в каталог с приложением и каталог ./sqldrivers

Может кто подскажет как избежать дублирования файлов зависимых библиотек?
Записан
titan83
Гость
« Ответ #13 : Апрель 15, 2017, 18:36 »

может начать с windeployqt (винда же целевая ОС?)?
Записан
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #14 : Январь 19, 2018, 22:12 »

Добрый день!

Аналогичная ситуация, только для приложения подключающего в PostgreSQL.
Приложение написано на Qt4, работает с СУБД PostgreSQL 9.5. На компьютере Win XP с Qt Creator и собранными драйверами все работает.

Но при запуске на чистой win7 через lastError выводится Driver not loaded Driver not loaded

Через Dependency Walker проверены все зависимости, добавлены ненайденные библиотеки. Путь к приложению из латинских букв. Не помогло выделение драйвера БД в отдельный каталог ./sqldrivers.

Подскажите, пожалуйста, что нужно поставить на чистой Windows чтобы приложение работало? или как правильно собрать приложение в Qt Creator?
еще проге нужна библиотека самого PostgreSQL
libpq.dll
как минимум.
Записан

Как мало времени и как много нужно узнать
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.127 секунд. Запросов: 23.