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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: OCI и Qt4.2.2  (Прочитано 7573 раз)
vinnipux
Гость
« : Декабрь 05, 2007, 13:07 »

Пересмотрел весь форум так и не нашел как установить правильно OCI. Qt.Commercial.v4.2.2 + MSVS2005. Делаю все как описано в Ассистенте, создает библиотеку и dll  в папке %QTDIR%\plugins\sqldrivers\ qsqloci.dll, скопировал так же ocu.dll в system32. и все равно не видит драйвер. Подскажите что делаю не так? В чем проблема?
Записан
Barmaglodd
Гость
« Ответ #1 : Декабрь 05, 2007, 17:12 »

Ничего никуда не копировал, просто поставил клиента Оракла, все отлично работает. Драйвер вкомпилирован в QSql.dll, т.к. просто не осилил, что и как надо настроить, чтобы драйвера, собранные как плагины, подгружались на машинах, где раньше Qt небыло.
Записан
vinnipux
Гость
« Ответ #2 : Декабрь 05, 2007, 17:31 »

Ничего никуда не копировал, просто поставил клиента Оракла, все отлично работает. Драйвер вкомпилирован в QSql.dll, т.к. просто не осилил, что и как надо настроить, чтобы драйвера, собранные как плагины, подгружались на машинах, где раньше Qt небыло.

хм...странно, у меня то же стоит клиент. но нифига не работает. и даже когда скомпили плагин. люди помогите разобратся, дайте хоть сылку где можно почитать, хоть намекните куда копать в какую сторону.
Записан
Barmaglodd
Гость
« Ответ #3 : Декабрь 05, 2007, 17:53 »

Может стоит собрать qsqloci как часть qsql.dll, а не как плагин?Хотя это, конечно, уже пляски с бубуном.
Записан
DmP
Гость
« Ответ #4 : Декабрь 05, 2007, 18:25 »

Если какой драйвер не загружается, то нужно убедится, что ваша программа собрана тем же компилятором, и в том же режиме - в смысле DEBUG/RELEASE.
Что бы узнать чем и как собран плагин смотрим реестр, после попытки загрузить плагин:
HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults\Qt Plugin Cache 4.3.false
или
HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults\Qt Plugin Cache 4.2.false
ну в зависимости от версии Qt Улыбающийся
« Последнее редактирование: Декабрь 05, 2007, 18:28 от DmP » Записан
vinnipux
Гость
« Ответ #5 : Декабрь 05, 2007, 18:27 »

Может стоит собрать qsqloci как часть qsql.dll, а не как плагин?Хотя это, конечно, уже пляски с бубуном.
Подскажи как это сделать! Буду очень благадарен!
Записан
DmP
Гость
« Ответ #6 : Декабрь 05, 2007, 18:30 »

Так же можно открыть плагин с помощью DependencyWalker, и убедится, что все связи разрешены.
Записан
vinnipux
Гость
« Ответ #7 : Декабрь 06, 2007, 05:32 »

Так же можно открыть плагин с помощью DependencyWalker, и убедится, что все связи разрешены.
Прошу прощения за моЁ невежество, но плагин в нашем случае это файл qsqloci.dll?

Если какой драйвер не загружается, то нужно убедится, что ваша программа собрана тем же компилятором, и в том же режиме - в смысле DEBUG/RELEASE.
Что бы узнать чем и как собран плагин смотрим реестр, после попытки загрузить плагин:
HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults\Qt Plugin Cache 4.3.false
или
HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults\Qt Plugin Cache 4.2.false
ну в зависимости от версии Qt Улыбающийся
посмотрел, и обноружил следующие:qsqloci.dll - release и qsqlocid.dll - release, а qsqlited.dll - debug. но как я понимаю тогда в релизе если компилировать она должна видеть oci, а не видет. Блин помогите...

просмотрел папку %QTDIR%\src\plugins\sqldrivers\oci\tmp\ там две папки moc и obj , в них есть папки debug_xxxxxx так вот они пустые а в папках release есть фалики. вроде создолося в %QTDIR%\src\plugins\sqldrivers\oci\ 3 makefile: makefile.Release, makefile.debug, makefile. блин почему не компилирует дебуг не понятно. и почему когда прогу в release компилируеш не видит OCI
« Последнее редактирование: Декабрь 06, 2007, 07:06 от vinnipux » Записан
DmP
Гость
« Ответ #8 : Декабрь 06, 2007, 11:37 »

Так же можно открыть плагин с помощью DependencyWalker, и убедится, что все связи разрешены.
Прошу прощения за моЁ невежество, но плагин в нашем случае это файл qsqloci.dll?

Да наверное это и есть плагин - драйвер оракла.
Нужнно убедится, что все ДЛЛ, которые он использует в пределах досягаемости.

Цитировать
Если какой драйвер не загружается, то нужно убедится, что ваша программа собрана тем же компилятором, и в том же режиме - в смысле DEBUG/RELEASE.
Что бы узнать чем и как собран плагин смотрим реестр, после попытки загрузить плагин:
HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults\Qt Plugin Cache 4.3.false
или
HKEY_CURRENT_USER\Software\Trolltech\OrganizationDefaults\Qt Plugin Cache 4.2.false
ну в зависимости от версии Qt Улыбающийся
посмотрел, и обноружил следующие:qsqloci.dll - release и qsqlocid.dll - release, а qsqlited.dll - debug. но как я понимаю тогда в релизе если компилировать она должна видеть oci, а не видет. Блин помогите...

просмотрел папку %QTDIR%\src\plugins\sqldrivers\oci\tmp\ там две папки moc и obj , в них есть папки debug_xxxxxx так вот они пустые а в папках release есть фалики. вроде создолося в %QTDIR%\src\plugins\sqldrivers\oci\ 3 makefile: makefile.Release, makefile.debug, makefile. блин почему не компилирует дебуг не понятно. и почему когда прогу в release компилируеш не видит OCI

В ключе "Qt Plugin Cache 4.3.false" у меня следующие значения, скажем:
40302 0 Windows msvc release full-config
Для того что бы плагин загрузился, необходимо, что бы эти же параметры были и у программы, с помощью которой загружаете плагин.
Проверить их  для своей программы можно скажем так:
#include <QtPlugin>
#include <QDebug>

void test()
{
    Q_PLUGIN_VERIFICATION_DATA;
    qDebug() << qt_plugin_verification_data;
}
Записан
Barmaglodd
Гость
« Ответ #9 : Декабрь 06, 2007, 11:44 »

Подскажи как это сделать! Буду очень благадарен!
configure -qt-sql-oci  дальше нужные вам параметры, и пересобираем. Может можно как-то только QSql переконфигурировать, но я не разбирался как.
Записан
DmP
Гость
« Ответ #10 : Декабрь 06, 2007, 11:48 »

Также если программа собирается с помощью некого IDE, то нужно убедится, что не смешиваются сборки, скажем Debug сборка не линкуются с Release сборкой Qt, и правильно задан QT_NO_DEBUG или QT_DEBUG
Записан
vinnipux
Гость
« Ответ #11 : Декабрь 06, 2007, 12:58 »

спасибо разобрался.Спасибо тебе DmP . Очень блогадарен.!респек и уважуха!
Записан
DmP
Гость
« Ответ #12 : Декабрь 06, 2007, 22:19 »

спасибо разобрался.Спасибо тебе DmP . Очень блогадарен.!респек и уважуха!
Пожалуйста. Улыбающийся Просто сам с кошмаром вспоминаю, как с бубном бегал вокруг компа, что бы заработал плагин MySQL Улыбающийся
Рад, что заработало.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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