crossplatform.ru

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

Лёшка
  опции профиля:
сообщение 31.3.2010, 9:09
Сообщение #1


Студент
*

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

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




Репутация:   0  


Помогите с драйверами на MySQL под QT. Пробовал собирать сам все получается, но их QT не видит
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
3 страниц V   1 2 3 >  
Начать новую тему
Ответов (1 - 29)
Litkevich Yuriy
  опции профиля:
сообщение 31.3.2010, 9:55
Сообщение #2


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

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

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




Репутация:   94  


Цитата(Лёшка @ 31.3.2010, 13:09) *
все получается, но их QT не видит
это как понимать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Лёшка
  опции профиля:
сообщение 31.3.2010, 11:07
Сообщение #3


Студент
*

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

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 31.3.2010, 10:55) *
все получается, но их QT не видит
это как понимать?

После сборки драйверов они появляются в папке \plugins\sqldrivers\ появились файлы: libqsqlmysqld4.a, qsqlmysqld4.dll, libqsqlmysql4.a,
qsqlmysql4.dll, но при попытке соединения с базой выдается ошибка что драйвер не найден ((
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 31.3.2010, 17:19
Сообщение #4


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

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

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




Репутация:   94  


Цитата(Лёшка @ 31.3.2010, 15:07) *
но при попытке соединения
при этой попытке в окружении (переменная PATH), путь к dll'кам самого мускуля есть?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Лёшка
  опции профиля:
сообщение 1.4.2010, 11:06
Сообщение #5


Студент
*

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

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 31.3.2010, 18:19) *
Цитата(Лёшка @ 31.3.2010, 15:07) *
но при попытке соединения
при этой попытке в окружении (переменная PATH), путь к dll'кам самого мускуля есть?

:scratch_one-s_head: надо посмотреть, но что то мне подсказывает что нету.
А после добавления пути в (PATH) нужно еще что то делать
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 1.4.2010, 13:15
Сообщение #6


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

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

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




Репутация:   94  


Цитата(Лёшка @ 1.4.2010, 15:06) *
надо посмотреть, но что то мне подсказывает что нету.
та программу как запускаешь? Из проводника виндовс или IDE (какой)?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Лёшка
  опции профиля:
сообщение 1.4.2010, 13:32
Сообщение #7


Студент
*

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

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 1.4.2010, 14:15) *
Цитата(Лёшка @ 1.4.2010, 15:06) *
надо посмотреть, но что то мне подсказывает что нету.
та программу как запускаешь? Из проводника виндовс или IDE (какой)?

Из QT Creator, собственно в нем и видно сообщения об ошибке
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 1.4.2010, 13:44
Сообщение #8


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

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

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




Репутация:   94  


Цитата(Лёшка @ 1.4.2010, 17:32) *
QT Creator
в креаторе с левой панели есть кнопка для настройки проекта, щёлкнув по которой открывается окно с кучей настроек, там должна быть настройка окружения запуска, в ней можно редактировать переменную PATH, посмотри есть ли там путь до <path/to/MySQL>/bin если нет, то добавь сам
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 1.4.2010, 21:32
Сообщение #9


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

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




Репутация:   5  


Лучше переместить длл-ки в папку с программой. Ибо как показывает мой опыт это не всегда работает.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Лёшка
  опции профиля:
сообщение 2.4.2010, 7:29
Сообщение #10


Студент
*

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

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 1.4.2010, 14:44) *
Цитата(Лёшка @ 1.4.2010, 17:32) *
QT Creator
в креаторе с левой панели есть кнопка для настройки проекта, щёлкнув по которой открывается окно с кучей настроек, там должна быть настройка окружения запуска, в ней можно редактировать переменную PATH, посмотри есть ли там путь до <path/to/MySQL>/bin если нет, то добавь сам

:yahoo: Сасибо Litkevich Yuriy заработало!!!
Только при запуске моего приложения на другом компьютере оно говорит что нет драйвера :unknw:
Как решить эту проблему??? Может dll`ки какие надо положить к исполняемому файлу???
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.4.2010, 9:43
Сообщение #11


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

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

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




Репутация:   94  


Цитата(Лёшка @ 2.4.2010, 11:29) *
Как решить эту проблему??? Может dll`ки какие надо положить к исполняемому файлу???
те же, что и нужны были на твоей машине. Возьми Dependency Walker, запусти в нём свою программу и посмотри какие dll'ки тянет твоё приложение из каталогов MinGW, Qt, MySQL

Ну и не забудь прочитать: Как распространять программы использующие Qt в MS Windows?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Лёшка
  опции профиля:
сообщение 2.4.2010, 10:32
Сообщение #12


Студент
*

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

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 2.4.2010, 10:43) *
Цитата(Лёшка @ 2.4.2010, 11:29) *
Как решить эту проблему??? Может dll`ки какие надо положить к исполняемому файлу???
те же, что и нужны были на твоей машине. Возьми Dependency Walker, запусти в нём свою программу и посмотри какие dll'ки тянет твоё приложение из каталогов MinGW, Qt, MySQL

Ну и не забудь прочитать: Как распространять программы использующие Qt в MS Windows?

Спасибо за совет думаю теперь разберусь.
А в какой теме мне можно посмотреть о проблемах с кодировкой при работе с базой данных MySQL?
У меня при вводе в моем приложении кирилических записей ивыполнении запроса появляется ошибка
"Incorrect string value: '\xD0\xB9' for column 'firstname' at row 1 QMYSQL3: Unable to execute statement"
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 2.4.2010, 13:04
Сообщение #13


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

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

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




Репутация:   94  


int main(int argc, char *argv[])
{
 
    QApplication app(argc, argv);

    // Устанавливаем кодеки
    QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
    // Для функций перевода tr() должно соответствовать кодировке исходников 
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); 
...
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Лёшка
  опции профиля:
сообщение 15.4.2010, 11:35
Сообщение #14


Студент
*

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

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




Репутация:   0  


Думал больше не буду возвращаться к этой теме, но пришлось. После сборки моего прооекта и размещиния в одном каталоге с исполняемым файлом всех нужных dll`ок, мое приложение при запуске на другом ПК всеравно ругается что нет нужного SQL драйвера(в моем случае MYSQL), dll`ку из папки бин сервера MYSQL тоже положил к исполняемому файлу. В чем проблема объясните?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 15.4.2010, 11:48
Сообщение #15


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

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

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




Репутация:   94  


кэш плагинов, в реестре, почистил?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 15.4.2010, 11:52
Сообщение #16


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


А сам драйвер из plugins копируешь?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Лёшка
  опции профиля:
сообщение 15.4.2010, 12:00
Сообщение #17


Студент
*

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

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 15.4.2010, 12:48) *
кэш плагинов, в реестре, почистил?

Нет, как это сделать? И на каком компьюторе, на том на котором собираю свое приложение???

Цитата(BRE @ 15.4.2010, 12:52) *
А сам драйвер из plugins копируешь?

Да скопировал, а толку нет
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 15.4.2010, 12:06
Сообщение #18


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

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




Репутация:   44  


Цитата(Лёшка @ 15.4.2010, 13:00) *
Да скопировал, а толку нет

В папке с исполняемым файлом, ты создал папку sqldrivers и скопировал туда сам драйвер? Все так сделал? ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 15.4.2010, 12:15
Сообщение #19


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

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

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




Репутация:   94  


Цитата(Лёшка @ 15.4.2010, 16:00) *
Нет, как это сделать? И на каком компьюторе, на том на котором собираю свое приложение???
на котором запускашь: Кэш подключаемых модулей
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Лёшка
  опции профиля:
сообщение 15.4.2010, 12:21
Сообщение #20


Студент
*

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

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




Репутация:   0  


Цитата(BRE @ 15.4.2010, 13:06) *
Цитата(Лёшка @ 15.4.2010, 13:00) *
Да скопировал, а толку нет

В папке с исполняемым файлом, ты создал папку sqldrivers и скопировал туда сам драйвер? Все так сделал? ;)

:clapping: спасибо большое заработало. Раньше драйвера просто кидал прям к исполняемому файлу
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
neneTc
  опции профиля:
сообщение 12.5.2010, 10:54
Сообщение #21


Студент
*

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

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




Репутация:   0  


Здравствуйте! У меня немного иная проблема с MySQL(скачал 5.1.46 сервер с оффсайта) + QT 4.6.2 + Windows. Собрал MySQL драйвер (собрано mingw-utils 3.0, пробовал пересобирать Qt с поддержкой MySQL там сыпались ошибки сначала с WebKit, потом с какими-то скриптами, решил собрать MinGW), в папке <QTDIR>\plugins\sqldrivers наличиствуют файлы libqsqlmysql4.a libqsqlmysqld4.a qsqlmysql4.dll qsqlmysqld4.dll, драйвер видится в sqlbrowser (демо програмка, в папке <QTDIR>\demos\sqlbrowser), коннектится к локальному MySQL серверу, выдаёт список таблиц, при дабл-клике по любой таблице выдает "Unable to find table <имя таблицы>". В программке которую я писал процедура QSqlDatabase::open() не выполняется (ну т.е. возвращает false) и все запросы к серверу тут же прекращаются. Что делать? Помогите пожалуйста, очень надо доделать программку!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 12.5.2010, 11:21
Сообщение #22


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

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

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




Репутация:   94  


Цитата(neneTc @ 12.5.2010, 14:54) *
Unable to find table <имя таблицы>"
как имя таблицы указано в БД, большими или маленькими буквами?
Попробуй в демке сделать запрос к таблице руками (в нижнем поле). Поэксперементируй с регистром.

Троли сломали всё нахрен в модуле QtSQL начиная с версии Qt 4.5 при этом целились кудато в поддержку мускула через QODBC, сломали firebird и всё остальное. Вплоть до Qt 4.7 не работает. Есть только обходные пути, и для каждой версии свои
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
neneTc
  опции профиля:
сообщение 12.5.2010, 11:40
Сообщение #23


Студент
*

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

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




Репутация:   0  


Имена всех таблиц в нижнем регистре, запросы работают любые (в нижнем поле). Подскажите пожалуйста как мне правильно открыть подключение к MySQL. Может я что не так делаю?
    db=QSqlDatabase::addDatabase("QMYSQL", "DataServer");
    db.setHostName(gHost);
    db.setUserName(gUser);
    db.setPassword(gPass);
    db.setPort(gPort);
    if(db.open())
    {
        //...
    }
    //...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 12.5.2010, 11:47
Сообщение #24


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

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

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




Репутация:   94  


Цитата(neneTc @ 12.5.2010, 14:54) *
процедура QSqlDatabase::open() не выполняется (ну т.е. возвращает false)
а что возвращает
db.lastError().text();
?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
neneTc
  опции профиля:
сообщение 12.5.2010, 11:51
Сообщение #25


Студент
*

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

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




Репутация:   0  


Can't connect to MySQL server on '<адрес>' (10061) QMYSQL: Unable to connect
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Лёшка
  опции профиля:
сообщение 12.5.2010, 12:53
Сообщение #26


Студент
*

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

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




Репутация:   0  


Цитата(neneTc @ 12.5.2010, 11:54) *
пробовал пересобирать Qt с поддержкой MySQL там сыпались ошибки сначала с WebKit, потом с какими-то скриптами, решил собрать MinGW

Мне интересно зачем пересобирать Qt с поддержкой мускула??? У меня тоже были проблемы при работе с мускулом, но они решились и без пересборки QT, собирал только драйвер и все.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
neneTc
  опции профиля:
сообщение 12.5.2010, 13:08
Сообщение #27


Студент
*

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

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




Репутация:   0  


Лёшка, ну после неудачных пересборок я собирал только плагин)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
neneTc
  опции профиля:
сообщение 12.5.2010, 14:43
Сообщение #28


Студент
*

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

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




Репутация:   0  


Litkevich Yuriy, большое спасибо за помощь! проблема была исключительно в невнимательности. После устранения проблемы всё зафурыкало=)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 13.5.2010, 10:22
Сообщение #29


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

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




Репутация:   5  


Цитата(Litkevich Yuriy @ 12.5.2010, 12:21) *
сломали firebird и всё остальное. Вплоть до Qt 4.7 не работает.


Qt 4.6.0 + Firebird 2 под Windows. Все работает.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 13.5.2010, 12:58
Сообщение #30


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

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

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




Репутация:   94  


Цитата(molchanoviv @ 13.5.2010, 14:22) *
Qt 4.6.0 + Firebird 2 под Windows. Все работает.
а ты имена идентификаторов в БД сделай разного регистра
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 7.5.2025, 13:30