Название: Qt Mysql Отправлено: stanukih от Октябрь 14, 2015, 09:00 Версия Qt - 5.5
MySQl 5.5. Вот этот код Код: #include "mainwindow.h" QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 Ups ("QSQLITE", "QMYSQL", "QMYSQL3", "QODBC", "QODBC3", "QPSQL", "QPSQL7") Вопрос почему он не загружает драйвер? Ведь последняя строка говорит что он есть. Название: Re: Qt Mysql Отправлено: PimenS от Октябрь 14, 2015, 09:27 Для работы QMYSQL нужно чтобы были доступны еще и библиотеки самого MySQL.
Название: Re: Qt Mysql Отправлено: stanukih от Октябрь 14, 2015, 09:29 Сам MySQL установлен. Что нужно чтоб они были доступны?
Название: Re: Qt Mysql Отправлено: PimenS от Октябрь 14, 2015, 09:31 Система какая?
Название: Re: Qt Mysql Отправлено: stanukih от Октябрь 14, 2015, 09:34 windows 7 x64
Название: Re: Qt Mysql Отправлено: PimenS от Октябрь 14, 2015, 09:37 Пропиши в path путь до библиотек MySql
Название: Re: Qt Mysql Отправлено: stanukih от Октябрь 14, 2015, 09:43 Добавил C:\Program Files\MySQL\MySQL Server 5.5\bin;C:\Program Files\MySQL\MySQL Server 5.5\include
Результат 0. Название: Re: Qt Mysql Отправлено: PimenS от Октябрь 14, 2015, 09:53 а до lib?
Название: Re: Qt Mysql Отправлено: stanukih от Октябрь 14, 2015, 12:43 Добавил, а ничего не поменялось. Может проблема в том что mysql x64, а компилятор mingw x32?
Название: Re: Qt Mysql Отправлено: Hellraiser от Октябрь 14, 2015, 13:19 В системе должны быть установлены клиентские библиотеки (DLL, а не LIB!) той же битности, что и сама программа! Битность сервера программе до фонаря.
Название: Re: Qt Mysql Отправлено: stanukih от Октябрь 29, 2015, 06:41 Проблема не решена. Еще раз вся информация:
Windows 7 x64 Qt 5.5 Компилятор mingw 4.9.2 Код: QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "test"); MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { qDebug()<<db.driver(); } выдает: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 QSqlDatabase: an instance of QCoreApplication is required for loading driver plugins QSqlDriver(0x679810cc) То есть драйвер mysql доступен. Код: QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "test"); MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { db.setDatabaseName("test"); db.setUserName("root"); db.setPassword("9379992"); db.setHostName("127.0.0.1"); if (!db.open()) qDebug()<<"Ups"<< db.lastError(); else qDebug()<<"Ok"; ui->setupUi(this); } выдает QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 QSqlDatabase: an instance of QCoreApplication is required for loading driver plugins Ups QSqlError("", "Driver not loaded", "Driver not loaded") Драйвер mysql не загружен. Куда копать? Пересобирать драйвер, прописывать пути или еще чего? Название: Re: Qt Mysql Отправлено: stanukih от Октябрь 29, 2015, 06:47 Что самое обидное идентичный код с sqlite работает. А плагин есть и того и другого..
Название: Re: Qt Mysql Отправлено: PimenS от Октябрь 29, 2015, 10:41 Windows 7 x64
Qt 5.5 mingw 4.9.2 MySql 5.5 32bit, в path прописан путь до libmysql.dll. все работает без проблем Название: Re: Qt Mysql Отправлено: stanukih от Октябрь 30, 2015, 06:55 Прописал этот путь в path. Теперь новая приколюха - откомпилированные проект (из примеров qt sqlbrowser) работает. А если запускаю из среды - ctrl+r пишет что драйвер не запущен. Как свой проект дебажить то?
Название: Re: Qt Mysql Отправлено: stanukih от Октябрь 30, 2015, 07:09 Тему можно закрыть проблема решена простым киданием dll в папку. Похоже изначально проблема была что dll были под х64. Всем спасибо.
|