crossplatform.ru

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

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
Алексей1153
  опции профиля:
сообщение 4.11.2012, 13:10
Сообщение #1


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

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

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




Репутация:   34  


не удаётся работать с mysql через QSqlDatabase. Сервис запущен, БД существует, пароль, логин, адрес и порт верные

куда копать ?

 Р В Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 72%
Прикрепленное изображение
944 x 667 (68.75 килобайт)

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
iReset
  опции профиля:
сообщение 4.11.2012, 21:03
Сообщение #2


Участник
**

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

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




Репутация:   2  


Цитата(Алексей1153 @ 4.11.2012, 14:10) *
не удаётся работать с mysql через QSqlDatabase. Сервис запущен, БД существует, пароль, логин, адрес и порт верные

куда копать ?

Тут смотрел?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 5.11.2012, 14:43
Сообщение #3


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

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

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




Репутация:   34  


пути проверил, добавил путь к нужным DLL. Результат тот же -

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC

то есть, вообще недоступно использование QMYSQL .

А как пересобирать плагин ? Где исходники брать ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 5.11.2012, 16:34
Сообщение #4


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

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

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




Репутация:   94  


Цитата(Алексей1153 @ 5.11.2012, 16:43) *
А как пересобирать плагин ? Где исходники брать ?
а плагин-то уже есть? Я не пользуюсь SDK, в котором исходников нет. Только саму библиотеку, в ней штатно плагин мускуля нужно самому собирать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 5.11.2012, 16:36
Сообщение #5


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

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

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




Репутация:   34  


нашёл, как собрать, но в путях поначалу заплутал. Поэтому открыл для себя менее геморройный способ:
(все пути, само собой, с моей машины, на других машинах они могут быть немного другими, но аналогичными)

здесь в папке mysql лежит проект плагина
C:\QtCommercialSDK\Src\qt\483\src\plugins\sqldriverss\mysql

в папке проекта валяются файлы проекта
main.cpp
mysql.pro

настраиваем проект (к примеру, у меня получилось следующее)
 Р В Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 69%
Прикрепленное изображение
843 x 343 (20.82 килобайт)



затем открываем PRO в QtCreator , компилим. Нам будет сообщение, что в файле
C:\QtCommercialSDK\Src\qt\483\src\sql\drivers\mysql\qsql_mysql.h
не найден
<mysql.h>

а в файле
C:\QtCommercialSDK\Src\qt\483\src\sql\drivers\mysql\qsql_mysql.pri
не найдена
-llibmysql

указываем реальный путь к заголовку в qsql_mysql.h
#include <C:\Program Files (x86)\MySQL\MySQL Server 5.1\include\mysql.h>
//#include <mysql.h>


и задаём путь к либе в qsql_mysql.pri
LIBS+= "C:/Program Files (x86)/MySQL/MySQL Server 5.1/lib/opt/libmysql.lib"


(всё добавленное и отредактированное в файлах qsql_mysql.* после компиляции рекомендую вернуть как было :) На всякий случай. )

пересобираем отладочную/релизную версию, на выходе получаем долгожданные файлы драйверов.
Они у меня, соответственно, упали сюда

дебаг
..\mysql-build-desktop-Qt_Commercial_4_8_3_for_Desktop__MinGW_________\debug\qsqlmysqld4.dll

релиз
..\mysql-build-desktop-Qt_Commercial_4_8_3_for_Desktop__MinGW________\release\qsqlmysql4.dll

(отмечу, что пути разные. Разница в одном символе подчёркивания, выделенным красным. Скорее всего, они опечатались, но это не особо нас волнует :) )


Ну а дальше... опять глухо. Указал папку через
    QApplication::addLibraryPath("sqldrivers/");
    QStringList p=QApplication::libraryPaths(); //и проверил, где она "указалась"

а результат тот же

Куда теперь рыть ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 6.11.2012, 7:43
Сообщение #6


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

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

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




Репутация:   12  


а не может быть, что у твоего юзера тупо нет прав на работу с базами? ну так, для очистки совести.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 6.11.2012, 10:18
Сообщение #7


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

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

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




Репутация:   94  


Алексей1153, по поводу сборки
Ты очень сложный путь придумал, Креатор вообще не нужен, нужно только окружение Qt (например его командная строка)

Далее так:
cd %QTDIR%\src\plugins\sqldrivers\mysql\
qmake -o Makefile "INCLUDEPATH+=\"F:\MySQL\MySQL_Server_5.1\include\"" "LIBS+=\"F:\MySQL\MySQL_Server_5.1\lib\debug\libmysql.lib\"" mysql.pro
make
пути заменить своими

Цитата(Алексей1153 @ 5.11.2012, 18:36) *
Ну а дальше... опять глухо. Указал папку через
при твоём способе сборке я даже не знаю, драйвер теперь лежит в положенном ему месте (%QTDIR%\plugins\sqldrivers\) или нет?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 6.11.2012, 10:58
Сообщение #8


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

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

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




Репутация:   34  


Iron Bug, права есть. Он там пока что один - root )) Но до подключения дело не доходит даже (из студии то всё нормально, кстати, да и из панели браузера MySQL тоже)

Litkevich Yuriy, попробую дома. Я пытался из командной строки, но он кучу ошибок вываливает, в консоли их не разобрать

по поводу пути - я же указывал дополнительно пути для поиска, туда я их и скопировал. А эту папку не проверял
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 6.11.2012, 17:51
Сообщение #9


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

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

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




Репутация:   34  


с командной строкой всё очень грустно. Что он хочет ? )

 Р В Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 62%
Прикрепленное изображение
692 x 714 (45.62 килобайт)


во, то, что вчера скомпилил, закинул в C:\QtCommercialSDK\Desktop\483\mingw44\plugins\sqldrivers
и заработало

(ну и в папку с теневой сборкой закинул libmySQL.dll из файлов сервера MySQL - но это я вчера ещё сделал. Сегодня проверил, что без этого перестаёт тоже работать)

Всем спасибо за пинки )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
nikita
  опции профиля:
сообщение 7.11.2012, 7:52
Сообщение #10


Студент
*

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

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




Репутация:   0  


Алексей, может мой ответ сильно не поможет, но у меня была такая бага под Линуксом! Все дело в КуТэшном драйвере для работы с Мускульной БД. В Линуксе вся проблемма решилась после установки пакета libqt4-mysql и никаких путей прописывать не нужно. Я думаю что под Виндой нужно сделать что-то подобное.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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