Qt5, C ++: драйвер QMYSQL не загружен - PullRequest
0 голосов
/ 23 октября 2019

Я пытаюсь подключиться к базе данных, используя сервер MySQL с Qt. Он не работает, и когда я запускаю код, я получаю сообщение об ошибке ниже.

QSqlDatabase: драйвер QMYSQL не загружен
QSqlDatabase: доступные драйверы: QSQLITE QODBC QODBC3 QPSQL QPSQL7 Невозможно подключиться кВ базе данных проверьте данные о вашем соединении.

Я пробовал это в течение последних четырех (4) дней и не хочу убегать от проблемы. Так что я буду очень признателен за любую помощь. Я посмотрел несколько похожих постов, но ни один не помог мне. Я скопировал файлы libmysql.dll и libmysqld.dll в каждую возможную папку, которую смог найти, и ничего из этого не сработало. Я замечаю большую разницу от моего сообщения об ошибке и тех, которые получили другие. «MYSQL» даже не указан в качестве одного из доступных драйверов в строке ошибки, которую я получил ниже. Что это говорит?

QSqlDatabase: доступные драйверы: QSQLITE QODBC QODBC3 QPSQL QPSQL7

#*******This is my main.cpp file**********

#include <QCoreApplication>
#include <QtSql/QtSql>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlQuery>

//Adding the i/o stream
#include <iostream>
using namespace std;


int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

//Creating a database connection
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setUserName("root");
db.setPassword("");
db.setDatabaseName("qtdatabase");

//Testing the connection
if(db.open()) {
    cout << "Database connected successfully" << endl;

} else {

    cout << "Unable to connect to the database check your connection details." << endl;
}


    return a.exec();
}


#********This is my mysqlconnect.pro file**********

QT += core
QT += sql
QT -= gui

CONFIG += c++11 console

TARGET = mysqlconnect

CONFIG -= app_bundle


SOURCES += \
        main.cpp

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target



win32: LIBS += -L$$PWD/../../../../Users/user/Desktop/lib/ -llibmysql

INCLUDEPATH += $$PWD/../../../../Users/user/Desktop
DEPENDPATH += $$PWD/../../../../Users/user/Desktop

Ответы [ 3 ]

0 голосов
/ 03 ноября 2019

Я не знаю, почему у меня такой огромный размер Qt. Вы можете видеть это в приложенных изображениях. Один показывает фактический размер папки, и когда я нажимаю на установленную папку Qt, я вижу версии 5.12.4 и 5.13.0 в папке. Это нормально? Я прикрепил изображения здесь, пожалуйста. Qt installation size

0 голосов
/ 03 ноября 2019

Вот второе изображение. Может ли быть проблема с моей установкой? Но с ним все работает нормально, The two versions inside the Qt folder, за исключением этой проблемы 'QMYSQL', о которой я знаю на данном этапе.

0 голосов
/ 24 октября 2019

Это означает, что плагин QMYSQL недоступен или не может быть успешно загружен. Попробуйте установить переменную среды QT_DEBUG_PLUGINS в ненулевое значение и посмотрите, что происходит, когда ваш исполняемый файл пытается загрузить плагин MySQL. В большинстве случаев это происходит потому, что плагин не может найти клиентские библиотеки MySQL, как вы уже упоминали.

Если вы используете Qt Creator, обратите внимание на красные стрелки слева направо. Здесь вы можете добавить run переменные среды: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...