Вы уже познакомились с Qt, знаете что такое сигнал и слот, написали уже несколько программ, и вот решили подключиться к запущенной и настроенной БД MySQL, и обнаружили что "из коробки" такая возможность отсутствует, а в Qt по умолчанию имеется поддержка только:
Примечание:
1. Это можно узнать вызвав статический метод QSqlDatabase::drivers()или запустив этот проект (взят отсюда).
2. Для библиотеки Qt5.x.x будет другой результат (например, для Qt5.2.1 он такой), хотя просто так работать все равно не будет.
Следовательно для работы с MySQL надо раздобыть где-нибудь этот драйвер. Варианта два:
1. Собрать самому.
2. Использовать уже готовый.
Примечание:
Для библиотеки Qt5.x.x требуется лишь скопировать библиотечный файл по необходимому пути (см. пункт 9).
Если самостоятельно собирать их нет желания, то переходим к концу пункта 7.
Я же опишу полный процесс компиляции драйвера MySQL и выложу результаты (готовые драйвера).
Для начала, что у нас уже имеется (или уточним пути):
1. Библиотека Qt 4.8.5 установлена в: C:\Qt\4.8.5
2. MinGW установлен в C:\Qt\MinGW
3. Qt Creator 3.0.1 установлен в C:\Qt\Creator3
2. Переносим папку qt-everywhere-opensource-src-4.8.5 и все ее содержимое из скачанного архива в папку C:\tmp. Переименуем qt-everywhere-opensource-src-4.8.5 в src4.
3. Теперь необходимо раздобыть include и lib от MySQL версии 5.5 или 5.1 (для версии 5.6 почему-то не компилируются). В том, какую версию использовать - решать вам. Я разницы не заметил (драйвер скомпилированный с include и lib от MySQL 5.1 прекрасно работает с сервером MySQL 5.5).
Официально все берется тут. Но чтобы не возиться с установкой, я предлагаю скачать отдельно только необходимые нам файлы.
Для MySQL 5.5 скачиваем этот архив (mirror1, mirror2)
Для MySQL 5.1 скачиваем этот архив (mirror1, mirror2)
4. Переносим папку mysql из скачанного архива в C:\tmp
5. Запустим Qt 4.8.5 Command Prompt
6. Перейдем в следующий каталог из данного командного интерпретатора следующей командой:
В результате нам нужны два файла libqsqlmysqld4.a и qsqlmysqld4.dll из папки debug и два файла libqsqlmysql4.a и qsqlmysql4.dll из папки release.
Вот эти файлы скомпилированные мной:
для MySQL5.1 (mirror1, mirror2)
для MySQL5.5 (mirror1, mirror2)
8. Скопируем полученные файлы драйверов командами:
10. Всё, драйвера установлены. Можно проверить запустив этот тестовый проект. Результат:
Как видите, появилась поддержка QMYSQL и QMYSQL3.
Папку C:\tmp и все её содержимое можно удалить.
Используемый и полезный материал:
Create MySQL driver for Qt on Windows _ Seppe Magiels
Qt и SQLite и вообще, программирование БД в Qt _ Хабрахабр
QT и Базы данных — openSUSE
Qt 4.5 Драйверы баз данных SQL _ Документация
Вопрос - Ответ для новичков по Qt - Страница 3 - Qt - CyberForum.ru
Чтобы не забыть... - Драйвера баз данных в QT
Qt и MySQL - Форум на CrossPlatform.RU
Сборка библиотек драйвера MySQL - Qt - CyberForum.ru
драйверы_баз_данных_sql [Qt - поменьше программируй, побольше отдохни.]
При копировании статьи просьба указывать источник и автора.
С уважением, GRomR1.
Примечание:
1. Это можно узнать вызвав статический метод QSqlDatabase::drivers()или запустив этот проект (взят отсюда).
2. Для библиотеки Qt5.x.x будет другой результат (например, для Qt5.2.1 он такой), хотя просто так работать все равно не будет.
Следовательно для работы с MySQL надо раздобыть где-нибудь этот драйвер. Варианта два:
1. Собрать самому.
2. Использовать уже готовый.
Примечание:
Для библиотеки Qt5.x.x требуется лишь скопировать библиотечный файл по необходимому пути (см. пункт 9).
Если самостоятельно собирать их нет желания, то переходим к концу пункта 7.
Я же опишу полный процесс компиляции драйвера MySQL и выложу результаты (готовые драйвера).
Для начала, что у нас уже имеется (или уточним пути):
1. Библиотека Qt 4.8.5 установлена в: C:\Qt\4.8.5
2. MinGW установлен в C:\Qt\MinGW
3. Qt Creator 3.0.1 установлен в C:\Qt\Creator3
Последовательность действий:
1. Скачиваем исходники библиотеки Qt: qt-everywhere-opensource-src-4.8.5.zip (269 MB)2. Переносим папку qt-everywhere-opensource-src-4.8.5 и все ее содержимое из скачанного архива в папку C:\tmp. Переименуем qt-everywhere-opensource-src-4.8.5 в src4.
3. Теперь необходимо раздобыть include и lib от MySQL версии 5.5 или 5.1 (для версии 5.6 почему-то не компилируются). В том, какую версию использовать - решать вам. Я разницы не заметил (драйвер скомпилированный с include и lib от MySQL 5.1 прекрасно работает с сервером MySQL 5.5).
Официально все берется тут. Но чтобы не возиться с установкой, я предлагаю скачать отдельно только необходимые нам файлы.
Для MySQL 5.5 скачиваем этот архив (mirror1, mirror2)
Для MySQL 5.1 скачиваем этот архив (mirror1, mirror2)
4. Переносим папку mysql из скачанного архива в C:\tmp
5. Запустим Qt 4.8.5 Command Prompt
6. Перейдем в следующий каталог из данного командного интерпретатора следующей командой:
cd /d C:\tmp\src4\src\plugins\sqldrivers\mysql7. Выполним следующие команды:
- Для MySQL 5.1
qmake "INCLUDEPATH+=C:\\tmp\\mysql\\include" "LIBS+=C:\\tmp\\mysql\\lib\\opt\\libmysql.lib" mysql.pro
make
qmake "INCLUDEPATH+=C:\\tmp\\mysql\\include" "LIBS+=C:\\tmp\\mysql\\lib\\opt\\libmysql.lib" mysql.pro "CONFIG+=release"
make
- Для MySQL 5.5
qmake "INCLUDEPATH+=C:\\tmp\\mysql\\include" "LIBS+=C:\\tmp\\mysql\\lib\\libmysql.lib" mysql.proУ меня получился такой результат выполнения этих команд. Строки Creating library file: debug\libqsqlmysqld4.a и Creating library file: release\libqsqlmysql4.a означают, что драйвера создались успешно.
make
qmake "INCLUDEPATH+=C:\\tmp\\mysql\\include" "LIBS+=C:\\tmp\\mysql\\lib\\libmysql.lib" mysql.pro "CONFIG+=release"
make
В результате нам нужны два файла libqsqlmysqld4.a и qsqlmysqld4.dll из папки debug и два файла libqsqlmysql4.a и qsqlmysql4.dll из папки release.
Вот эти файлы скомпилированные мной:
для MySQL5.1 (mirror1, mirror2)
для MySQL5.5 (mirror1, mirror2)
8. Скопируем полученные файлы драйверов командами:
copy .\debug\libqsqlmysqld4.a C:\Qt\4.8.5\plugins\sqldrivers9. Скопируем библиотечный файл MySQL (так же его можно скачать тут: от MySQL5.1 (mirror1, mirror2) или от MySQL5.5 (mirror1, mirror2)):
copy .\debug\qsqlmysqld4.dll C:\Qt\4.8.5\plugins\sqldrivers
copy .\release\libqsqlmysql4.a C:\Qt\4.8.5\plugins\sqldrivers
copy .\release\qsqlmysql4.dll C:\Qt\4.8.5\plugins\sqldrivers
copy C:\tmp\mysql\lib\libmysql.dll C:\Qt\MinGW\binа для Qt5.2.1 будет следующий путь:
copy C:\tmp\mysql\lib\libmysql.dll C:\Qt\5.2.1\5.2.1\mingw48_32\binВозможно в новых версиях будут иные пути, главный закон по расположению этого файла - он должен быть в каталоге указанном в системной переменной PATH.
10. Всё, драйвера установлены. Можно проверить запустив этот тестовый проект. Результат:
Как видите, появилась поддержка QMYSQL и QMYSQL3.
Папку C:\tmp и все её содержимое можно удалить.
Используемый и полезный материал:
Create MySQL driver for Qt on Windows _ Seppe Magiels
Qt и SQLite и вообще, программирование БД в Qt _ Хабрахабр
QT и Базы данных — openSUSE
Qt 4.5 Драйверы баз данных SQL _ Документация
Вопрос - Ответ для новичков по Qt - Страница 3 - Qt - CyberForum.ru
Чтобы не забыть... - Драйвера баз данных в QT
Qt и MySQL - Форум на CrossPlatform.RU
Сборка библиотек драйвера MySQL - Qt - CyberForum.ru
драйверы_баз_данных_sql [Qt - поменьше программируй, побольше отдохни.]
При копировании статьи просьба указывать источник и автора.
С уважением, GRomR1.
Вы уже познакомились с Qt, знаете что такое сигнал и слот, написали уже несколько программ, и вот решили подключиться к запущенной и настроенной БД MySQL, и обнаружили что "из коробки" такая возможность отсутствует, а в Qt по умолчанию имеется поддержка только:
Примечание:
1. Это можно узнать вызвав статический метод QSqlDatabase::drivers()или запустив этот проект (взят отсюда).
2. Для библиотеки Qt5.x.x будет другой результат (например, для Qt5.2.1 он такой), хотя просто так работать все равно не будет.
Следовательно для работы с MySQL надо раздобыть где-нибудь этот драйвер. Варианта два:
1. Собрать самому.
2. Использовать уже готовый.
Примечание:
Для библиотеки Qt5.x.x требуется лишь скопировать библиотечный файл по необходимому пути (см. пункт 9).
Если самостоятельно собирать их нет желания, то переходим к концу пункта 7.
Я же опишу полный процесс компиляции драйвера MySQL и выложу результаты (готовые драйвера).
Для начала, что у нас уже имеется (или уточним пути):
1. Библиотека Qt 4.8.5 установлена в: C:\Qt\4.8.5
2. MinGW установлен в C:\Qt\MinGW
3. Qt Creator 3.0.1 установлен в C:\Qt\Creator3
2. Переносим папку qt-everywhere-opensource-src-4.8.5 и все ее содержимое из скачанного архива в папку C:\tmp. Переименуем qt-everywhere-opensource-src-4.8.5 в src4.
3. Теперь необходимо раздобыть include и lib от MySQL версии 5.5 или 5.1 (для версии 5.6 почему-то не компилируются). В том, какую версию использовать - решать вам. Я разницы не заметил (драйвер скомпилированный с include и lib от MySQL 5.1 прекрасно работает с сервером MySQL 5.5).
Официально все берется тут. Но чтобы не возиться с установкой, я предлагаю скачать отдельно только необходимые нам файлы.
Для MySQL 5.5 скачиваем этот архив (mirror1, mirror2)
Для MySQL 5.1 скачиваем этот архив (mirror1, mirror2)
4. Переносим папку mysql из скачанного архива в C:\tmp
5. Запустим Qt 4.8.5 Command Prompt
6. Перейдем в следующий каталог из данного командного интерпретатора следующей командой:
В результате нам нужны два файла libqsqlmysqld4.a и qsqlmysqld4.dll из папки debug и два файла libqsqlmysql4.a и qsqlmysql4.dll из папки release.
Вот эти файлы скомпилированные мной:
для MySQL5.1 (mirror1, mirror2)
для MySQL5.5 (mirror1, mirror2)
8. Скопируем полученные файлы драйверов командами:
10. Всё, драйвера установлены. Можно проверить запустив этот тестовый проект. Результат:
Как видите, появилась поддержка QMYSQL и QMYSQL3.
Папку C:\tmp и все её содержимое можно удалить.
Используемый и полезный материал:
Create MySQL driver for Qt on Windows _ Seppe Magiels
Qt и SQLite и вообще, программирование БД в Qt _ Хабрахабр
QT и Базы данных — openSUSE
Qt 4.5 Драйверы баз данных SQL _ Документация
Вопрос - Ответ для новичков по Qt - Страница 3 - Qt - CyberForum.ru
Чтобы не забыть... - Драйвера баз данных в QT
Qt и MySQL - Форум на CrossPlatform.RU
Сборка библиотек драйвера MySQL - Qt - CyberForum.ru
драйверы_баз_данных_sql [Qt - поменьше программируй, побольше отдохни.]
При копировании статьи просьба указывать источник и автора.
С уважением, GRomR1.
Примечание:
1. Это можно узнать вызвав статический метод QSqlDatabase::drivers()или запустив этот проект (взят отсюда).
2. Для библиотеки Qt5.x.x будет другой результат (например, для Qt5.2.1 он такой), хотя просто так работать все равно не будет.
Следовательно для работы с MySQL надо раздобыть где-нибудь этот драйвер. Варианта два:
1. Собрать самому.
2. Использовать уже готовый.
Примечание:
Для библиотеки Qt5.x.x требуется лишь скопировать библиотечный файл по необходимому пути (см. пункт 9).
Если самостоятельно собирать их нет желания, то переходим к концу пункта 7.
Я же опишу полный процесс компиляции драйвера MySQL и выложу результаты (готовые драйвера).
Для начала, что у нас уже имеется (или уточним пути):
1. Библиотека Qt 4.8.5 установлена в: C:\Qt\4.8.5
2. MinGW установлен в C:\Qt\MinGW
3. Qt Creator 3.0.1 установлен в C:\Qt\Creator3
Последовательность действий:
1. Скачиваем исходники библиотеки Qt: qt-everywhere-opensource-src-4.8.5.zip (269 MB)2. Переносим папку qt-everywhere-opensource-src-4.8.5 и все ее содержимое из скачанного архива в папку C:\tmp. Переименуем qt-everywhere-opensource-src-4.8.5 в src4.
3. Теперь необходимо раздобыть include и lib от MySQL версии 5.5 или 5.1 (для версии 5.6 почему-то не компилируются). В том, какую версию использовать - решать вам. Я разницы не заметил (драйвер скомпилированный с include и lib от MySQL 5.1 прекрасно работает с сервером MySQL 5.5).
Официально все берется тут. Но чтобы не возиться с установкой, я предлагаю скачать отдельно только необходимые нам файлы.
Для MySQL 5.5 скачиваем этот архив (mirror1, mirror2)
Для MySQL 5.1 скачиваем этот архив (mirror1, mirror2)
4. Переносим папку mysql из скачанного архива в C:\tmp
5. Запустим Qt 4.8.5 Command Prompt
6. Перейдем в следующий каталог из данного командного интерпретатора следующей командой:
cd /d C:\tmp\src4\src\plugins\sqldrivers\mysql7. Выполним следующие команды:
- Для MySQL 5.1
qmake "INCLUDEPATH+=C:\\tmp\\mysql\\include" "LIBS+=C:\\tmp\\mysql\\lib\\opt\\libmysql.lib" mysql.pro
make
qmake "INCLUDEPATH+=C:\\tmp\\mysql\\include" "LIBS+=C:\\tmp\\mysql\\lib\\opt\\libmysql.lib" mysql.pro "CONFIG+=release"
make
- Для MySQL 5.5
qmake "INCLUDEPATH+=C:\\tmp\\mysql\\include" "LIBS+=C:\\tmp\\mysql\\lib\\libmysql.lib" mysql.proУ меня получился такой результат выполнения этих команд. Строки Creating library file: debug\libqsqlmysqld4.a и Creating library file: release\libqsqlmysql4.a означают, что драйвера создались успешно.
make
qmake "INCLUDEPATH+=C:\\tmp\\mysql\\include" "LIBS+=C:\\tmp\\mysql\\lib\\libmysql.lib" mysql.pro "CONFIG+=release"
make
В результате нам нужны два файла libqsqlmysqld4.a и qsqlmysqld4.dll из папки debug и два файла libqsqlmysql4.a и qsqlmysql4.dll из папки release.
Вот эти файлы скомпилированные мной:
для MySQL5.1 (mirror1, mirror2)
для MySQL5.5 (mirror1, mirror2)
8. Скопируем полученные файлы драйверов командами:
copy .\debug\libqsqlmysqld4.a C:\Qt\4.8.5\plugins\sqldrivers9. Скопируем библиотечный файл MySQL (так же его можно скачать тут: от MySQL5.1 (mirror1, mirror2) или от MySQL5.5 (mirror1, mirror2)):
copy .\debug\qsqlmysqld4.dll C:\Qt\4.8.5\plugins\sqldrivers
copy .\release\libqsqlmysql4.a C:\Qt\4.8.5\plugins\sqldrivers
copy .\release\qsqlmysql4.dll C:\Qt\4.8.5\plugins\sqldrivers
copy C:\tmp\mysql\lib\libmysql.dll C:\Qt\MinGW\binа для Qt5.2.1 будет следующий путь:
copy C:\tmp\mysql\lib\libmysql.dll C:\Qt\5.2.1\5.2.1\mingw48_32\binВозможно в новых версиях будут иные пути, главный закон по расположению этого файла - он должен быть в каталоге указанном в системной переменной PATH.
10. Всё, драйвера установлены. Можно проверить запустив этот тестовый проект. Результат:
Как видите, появилась поддержка QMYSQL и QMYSQL3.
Папку C:\tmp и все её содержимое можно удалить.
Используемый и полезный материал:
Create MySQL driver for Qt on Windows _ Seppe Magiels
Qt и SQLite и вообще, программирование БД в Qt _ Хабрахабр
QT и Базы данных — openSUSE
Qt 4.5 Драйверы баз данных SQL _ Документация
Вопрос - Ответ для новичков по Qt - Страница 3 - Qt - CyberForum.ru
Чтобы не забыть... - Драйвера баз данных в QT
Qt и MySQL - Форум на CrossPlatform.RU
Сборка библиотек драйвера MySQL - Qt - CyberForum.ru
драйверы_баз_данных_sql [Qt - поменьше программируй, побольше отдохни.]
При копировании статьи просьба указывать источник и автора.
С уважением, GRomR1.
0 коммент.:
Отправить комментарий