Qt5.2 может найти драйвер mysql, но не может его загрузить

Операционная система: win7
компилятор: mingw4.8 (поставляется с Qt5.2)
ссылка на: Fedora core выпуск 5, ядро ​​2.6.15-1.2054_FC5 smp на i686

    db = new QSqlDatabase();
db->addDatabase("QMYSQL");
db->setHostName("localhost");
db->setDatabaseName("myclinic");
db->setUserName("root");
db->setPassword(",trth12");

qDebug() << loader.errorString();
qDebug() << "drivers: "<< QSqlDatabase::drivers();

if (db->open())
qDebug() << "Success!";
else
qDebug() << db->lastError().text();

Сообщения

QSqlDatabase: драйвер QMYSQL не загружен QSqlDatabase: доступен
драйверы: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL 7 «Общий доступ
библиотека не найдена. »drivers: (« QSQLITE »,« QMYSQL »,« QMYSQL3 »,
«QODBC», «QODBC3», «QPSQL», «QPSQL7»)

«Драйвер не загружен Драйвер не загружен»

1

Решение

Вы, похоже, либо пропускаете плагин mysql в своей Windows, либо саму правильную установку mysql, и в этом случае вам нужно будет это сделать, установив все необходимые библиотеки mysql в вашей системе, чтобы драйвер плагина QtSql мог его распознать.

Плагин должен быть доступен в папке plugins / sqldrivers как dll. Вы также можете поместить его в папку sqldrivers рядом с вашим приложением, так что-то вроде этого:

- yourapplication.exe
- sqldrivers/qsqlmysql4.dll

Вам нужно было бы как-то схватить его или построить самостоятельно. Это объяснение из документации, как это сделать:

Как собрать плагин QMYSQL для Windows

Вам нужно получить установочные файлы MySQL. Запустите SETUP.EXE и выберите «Выборочная установка». Установите «Libs» & Модуль «Включить файлы». Постройте плагин следующим образом (здесь предполагается, что MySQL установлен в C: \ MySQL):

cd %QTDIR%\src\plugins\sqldrivers\mysql
qmake "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MYSQL\MySQL Server <version>\lib\opt\libmysql.lib" mysql.pro
nmake

Если вы не используете компилятор Microsoft, замените nmake на make в строке выше.

Есть еще одна проблема с вашим кодом. Вы должны использовать «127.0.0.1» вместо «localhost» для баз данных mysql.

2

Другие решения

Спасибо за ответ, но проблема не в том, что мне не хватает qsqlmysql.dll, но у меня нет libmysql.dll (похоже, эта dll не поставляется с win7).

Вот видео которые показывают вам, как установить MySQL

0

У меня был такой же Pb из вас

Решение:

Драйверы Qt MySQL уже находятся внутри Qt5 (но не в предыдущей версии!)

Вам просто нужен «libmysql.dll» рядом с приложением exe (или в каталоге windows!). Вы найдете «libmysql.dll» в каталоге «mysql \ mysqlX.X.XX \ lib \ opt».

Если драйвер Qt MySQL не найден libmysql.dll, то ошибка такая же, как драйвер не найден …

Хороший шанс для следующего!

0
По вопросам рекламы [email protected]