Russian Qt Forum

Qt => Базы данных => Тема начата: rezor от Январь 16, 2011, 22:19



Название: Драйвер для MySQL в ubuntu.
Отправлено: rezor от Январь 16, 2011, 22:19
Собираю драйвер по инструкции.
cd $QTDIR/src/plugins/sqldrivers/mysql
qmake -o Makefile "INCLUDEPATH+=/usr/local/include" "LIBS+=-L/usr/local/lib -lmysqlclient_r" mysql.pro
делаю make и ошибка как поправить???
Код:
stas@stas-desktop:~/qtsdk-2010.02/qt/src/plugins/sqldrivers/mysql$ make
g++ -c -pipe -O2 -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/usr/local/include -I. -o main.o main.cpp
In file included from main.cpp:44:
../../../sql/drivers/mysql/qsql_mysql.h:52: fatal error: mysql.h: Нет такого файла или каталога
compilation terminated.
make: *** [main.o] Ошибка 1



Название: Re: Драйвер для MySQL в ubuntu.
Отправлено: JamS007 от Январь 16, 2011, 23:20
Если ошибки валяться и Вы не хотите с ними разбираться - делайте как я :)
Наберите в терминале:
Цитировать
sudo apt-get install libqt4-sql-mysql

и будет вам счастье.

Updated: способ подходит только в случае если Вы используете gcc.


Название: Re: Драйвер для MySQL в ubuntu.
Отправлено: rezor от Январь 16, 2011, 23:52
Вроде собрал завершилось так
Код:
stas@stas-desktop:~/qtsdk-2010.02/qt/src/plugins/sqldrivers/mysql$ sudo make install
install -m 755 -p "libqsqlmysql.so" "/usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so"
strip --strip-unneeded "/usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so"
stas@stas-desktop:~/qtsdk-2010.02/qt/src/plugins/sqldrivers/mysql$
Как-то этот драйвер нужно подключать к проекту, просто ошибка осталась при подключении.
Код:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QSQLITE2
Error occured in connection to database


Название: Re: Драйвер для MySQL в ubuntu.
Отправлено: tim474 от Январь 17, 2011, 01:23
Это ты используешь свою версию Qt, не из репозитория? А можно поинтересоваться — зачем? Если из репозитория, то ничего собирать надо, надо только поставить пакет libqt4-sql-mysql.


Название: Re: Драйвер для MySQL в ubuntu.
Отправлено: rezor от Январь 17, 2011, 13:23
Я использую SDK с оф сайта и Qt Creator  все стандартное без левых сборок!
Пакет  libqt4-sql-mysql уже стоит!
Функция подключения
Код:
#ifndef DATA_BASE_USE_H
#define DATA_BASE_USE_H
#include "mainwindow.h"
void MainWindow::connecting_data_base()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
       db.setHostName(host_name->text());
       db.setDatabaseName(database_name->text());
       db.setUserName(user_name->text());
       db.setPassword(password_base->text());
       if (db.open())
           {
               qDebug("connected to database");
           }
           else
           {
               qDebug("Error occured in connection to database");
           }

}

#endif // DATA_BASE_USE_H
.pro
Код:
# -------------------------------------------------
# Project created by QtCreator 2011-01-13T19:05:29
# -------------------------------------------------
QT += sql
TARGET = MyDB
TEMPLATE = app
SOURCES += main.cpp \
    mainwindow.cpp
HEADERS += mainwindow.h \
    data_base_use.h
FORMS += mainwindow.ui



Название: Re: Драйвер для MySQL в ubuntu.
Отправлено: vovan1982 от Январь 17, 2011, 14:21
положи файл /qtsdk-2010.02/qt/src/plugins/sqldrivers/mysql/libqsqlmysql.so
в папку /qtsdk-2010.02/qt/plugins/sqldrivers/


Название: Re: Драйвер для MySQL в ubuntu.
Отправлено: rezor от Январь 17, 2011, 14:39
Все спасибо поставил последнюю версию SDK и все автоматом заработало!


Название: Re: Драйвер для MySQL в ubuntu.
Отправлено: tim474 от Январь 18, 2011, 07:32
Цитировать
Я использую SDK с оф сайта и Qt Creator  все стандартное без левых сборок!
Как раз в данном случае сборка с сайта нокии будет левее и нестандартнее ;D


Название: Re: Драйвер для MySQL в ubuntu.
Отправлено: Jkc от Январь 30, 2011, 23:33
Цитировать
Я использую SDK с оф сайта и Qt Creator  все стандартное без левых сборок!
Как раз в данном случае сборка с сайта нокии будет левее и нестандартнее ;D
Сборка сайта нокии будет всегда самая новая, собирается она очень даже стандартно
а если взять сборку драйвера скажем под firebird то в сборке убунту собрать её практически нереально.


Название: Re: Драйвер для MySQL в ubuntu.
Отправлено: AdAn от Апрель 23, 2011, 16:30
Как сделать так чтобы Qt цеплялся с lampp мускульсервера, а не со стандартного?


Название: Re: Драйвер для MySQL в ubuntu.
Отправлено: AdAn от Май 24, 2011, 09:39
После некоторого простоя, нашел решение для Ubuntu. Довольно таки простое, кому-то покажется неправильным.
Как установили драйвер MySql для Qt (НО не устанавливали сервер MySql, но стоит LAMPP), написали прогу и запустили, то появится сообщение с ошибкой, что не возможно подключиться к mysqld.sock и указан путь к этому файлу.
Так вот, я просто сделал линк от mysql.sock в lampp (у меня /opt/lampp/var/mysql/mysql.sock) в тот путь куда направляет ошибка (в моем случае /var/(непомню)/mysqld/mysqld.sock).