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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QMYSQL  (Прочитано 3693 раз)
BuRn
Гость
« : Ноябрь 22, 2011, 03:10 »

Странная ситуация , стоял просто QtCreator в нем почему-то стандартно был драйвер, все конектилось все было хорошо, после поставил QtSQK в ней через drivers() выводится что доступен
("QSQLITE", "QSQLITE3", "QMYSQL3", "QMYSQL")
 но почему-то к базе отказывается конектится , хотя сообщений о том что модуль не загружен или еще что-то нет, но и в дире QtSDK/QtCreator/lib/qtcreator/plugins/sqldrivers/ только 1 либа, libsqlite.so , в чем может быть проблема ? сервер работает нормально, конект к нему идет нормальный, данные верны , lastError возвращает вот что
QSqlError(-1, "", "")
« Последнее редактирование: Ноябрь 22, 2011, 03:12 от BuRn » Записан
loneybibi
Гость
« Ответ #1 : Ноябрь 22, 2011, 06:02 »

Ну вы хотя бы указали систему на которой работаете! Как я понял это linux.
рекомендую пересобрать драйвера или вообще собрать если вы этого не делали.
При установке QtSDK OpenSource собран только один драйвер QSQLITE. Что бы была возможность использовать другие драйвера их надо собрать самому. Для этого при установке SDK надо выбрать пункт вручную и указать какие компоненты надо ставить вместе с SDK. Для того что бы собрать драйвер надо установить вместе со средой исходники поставив галочку при установке. Вообще что бы не было проблем рекомендую ставить SDK в домашний каталог пользователя, например /home/User1/QtSDK. Далее после установки в терминале зайти в каталог исходников, в моем случае это /home/User/QtSDK/QtSources/4.7.4/src/sqldrivers/mysql/. И потом выполнить qmake. Он соберет драйвер и положит в каталог /../../../../4.7.4/plugins/sqldrivers/ отсюда копируешь библиотеки .so и в вложить в /../../QtSDK/Desktop/474/plugins/sqldrivers/ и все должно работать. По крайней мере я собрал драйвера так и никаких проблем.

Ну на крайний случай пересобрать полностью Qt все их тех же исходников. Если надо напишу как )
Записан
BuRn
Гость
« Ответ #2 : Ноябрь 22, 2011, 15:59 »

собственно mysql.h в /usr/include/ присутствует, но получаю
calculate mysql # qmake
calculate mysql # make
g++ -c -pipe -fvisibility=hidden -fvisibility-inlines-hidden -D_REENTRANT -Wall -W -fPIC -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtSql -I/usr/include/qt4 -I. -o main.o main.cpp
In file included from main.cpp:44:0:
../../../sql/drivers/mysql/qsql_mysql.h:52:19: фатальная ошибка: mysql.h: Нет такого файла или каталога
Компиляция прервана.
make: *** [main.o] Ошибка 1
calculate mysql #
Записан
BuRn
Гость
« Ответ #3 : Ноябрь 22, 2011, 16:16 »

разрулил, он был в mysql/mysql.h
собственно инклюд поменял все скомпилилось
Записан
BuRn
Гость
« Ответ #4 : Ноябрь 22, 2011, 16:19 »

ситуация аналогичная , проблема с подключением, ошибка та жа ,
при

./configure -qt-sql-mysql -lmysql -I/usr/include/mysql -L/usr/lib/mysql
выдает вот что

MySQL support cannot be enabled due to functionality tests!
 Turn on verbose messaging (-v) to ./configure to see the final report.
 If you believe this message is in error you may use the continue
 switch (-continue) to ./configure to continue.
Записан
BuRn
Гость
« Ответ #5 : Ноябрь 22, 2011, 18:30 »

проблема решена
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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