crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Драйвер PSQL не виден, На машине с чистой windows не виден драйвер postres
dimon1980ddd
  опции профиля:
сообщение 11.1.2010, 1:26
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 35
Регистрация: 13.12.2009
Пользователь №: 1304

Спасибо сказали: 0 раз(а)




Репутация:   0  


На машине с чистой windows не виден драйвер postres. Драйвера как и положено лежат в папке sqldrivers...
Причем sqlite и odbc видны (я так понимаю только потому что qt скомпилированы с их поддержкой в виде plugins, а postgres по умолчанию нет)
При этом на машине где разрабатывается приложение все нормально...
Я уже и папку с Qt переименовывал, дабы случайно там не искало все равно работает, но при этом если переименовать каталог sqldrivers - перестает работать (т.е. берет dll откуда надо)!!!
Единственное,что мне пришло в голову, так это то что информация о плугинах берется из кэша в реестре? (На моей машине ссылка на плугин есть, а новой windows нет).
Как решить данную проблему? Можно ли в опциях qmake указать что-то типа -plugin-sql-psql или нужно пересобрать Qt с поддержкой этого плугина... И все таки откуда exe на моей машине берет эту информацию?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.1.2010, 5:45
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(dimon1980ddd @ 11.1.2010, 4:26) *
На машине с чистой windows не виден драйвер postres.
Цитата(dimon1980ddd @ 11.1.2010, 4:26) *
Я уже и папку с Qt переименовывал, дабы случайно там не искало все равно работает,
не понятно, что где обнаруживается, а где не обнаруживается.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
dimon1980ddd
  опции профиля:
сообщение 11.1.2010, 9:55
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 35
Регистрация: 13.12.2009
Пользователь №: 1304

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 11.1.2010, 5:45) *
Цитата(dimon1980ddd @ 11.1.2010, 4:26)
На машине с чистой windows не виден драйвер postres.
Цитата(dimon1980ddd @ 11.1.2010, 4:26)
Я уже и папку с Qt переименовывал, дабы случайно там не искало все равно работает,


На машине на которой установлена Qt программа работает.
На чистом windows - нет (QSqlDataBase::drivers() возвращает только sqlite и odbc).

Было лень ставить windows, поэтому я на на машине на которой установлены Qt и где все работает просто проводил эксперимент:
1. Переименовывал папку Qt - дабы путь к плугинам не был найден - программа работает...
2. Переименовываю папку sqldrivers в каталоге с программой - программа перестает работать
Я сделал вывод что драйвер берется из нужного места и все будет работать и на чистом windows, но оказалось не так :-)

QApllication::libraryPaths() указывает на каталог с exe - т.е. вроде бы тоже правильно (значит так должна быть папка sqldrivers)
Пробовал добавить qt.conf в котором указать путь к плугинам - результат все тот же...



Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.1.2010, 11:31
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Странно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
dimon1980ddd
  опции профиля:
сообщение 11.1.2010, 14:18
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 35
Регистрация: 13.12.2009
Пользователь №: 1304

Спасибо сказали: 0 раз(а)




Репутация:   0  


Проверял даже так: брал sqlbrowser кидал вместе с ним папку sqldrivers при запуске показывает только два драйвера sqlite и odbc
Я драйвер для postgres компилировал отдельно как написано в документации...
Может еще нужно было сделать какие то телодвижения? Типа зарегестрировать plugin?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.1.2010, 15:57
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(dimon1980ddd @ 11.1.2010, 17:18) *
Может еще нужно было сделать какие то телодвижения? Типа зарегестрировать plugin?
нет
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
dimon1980ddd
  опции профиля:
сообщение 12.1.2010, 1:32
Сообщение #7


Студент
*

Группа: Участник
Сообщений: 35
Регистрация: 13.12.2009
Пользователь №: 1304

Спасибо сказали: 0 раз(а)




Репутация:   0  


После долгих опытов проблема решилась довольно просто.. Нужно либо указать путь к postgres\bin либо скопировать всe dll из этого каталога в папку с приложением... :D
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 12.1.2010, 11:56
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(dimon1980ddd @ 12.1.2010, 4:32) *
Нужно либо указать путь к postgres\bin
А что при установке Postgres он не прописывает в PATH путь к своим бинарям? :blink:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
dimon1980ddd
  опции профиля:
сообщение 12.1.2010, 23:28
Сообщение #9


Студент
*

Группа: Участник
Сообщений: 35
Регистрация: 13.12.2009
Пользователь №: 1304

Спасибо сказали: 0 раз(а)




Репутация:   0  


Ну по крайней мере тот что есть у меня вроде бы не прописывает... Я просто когда на своей машине давно его ставил, чтобы скомпилировать plugin сам прописывал и благополучно забыл об этом :-)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 21.12.2024, 16:27