Qt安装MySQL驱动,解决QMYSQL driver not loaded问题

Qt版本是6.0.3,mysql版本是8.0.23

根据项目https://github.com/thecodemonkey86/qt_mysql_driver翻译

原文:Get precompiled qsqlmysql.dll from releases
获取编译后的qsqlmysql.dll 链接
根据你安装的版本选需要的文件
在这里插入图片描述
之后

  1. put qsqlmysql.dll (if release build) / qsqlmysqld.dll (if debug build, but note that when using MinGW 8.1.0 the debug build is named qsqlmysql.dll as well) in application subdirectory “sqldrivers”

    将qsqlmysql.dll(大概就是根据发布版本还是测试版本选择所需要的文件)放到Qt的sqldrivers目录下。
    例如我的目录是C:\Qt\6.0.1\mingw81_64\plugins\sqldrivers

  2. put libmysql.dll (the MySQL library itself) and the OpenSSL v1.1 libraries, libcrypto-1_1 and libssl-1_1, in your application dir
    MySQL/lib目录下的libmysql.dll和下载文件的libcrypto-1_1x64,dll and libssl-1_1,dll放到Qt的bin目录
    例如我的是C:\Qt\6.0.1\mingw81_64\bin

两次文件安放的目录不一样

运行代码进行测试

qDebug()<<"available drivers:";
        QStringList drivers = QSqlDatabase::drivers();
        foreach(QString driver, drivers)
            qDebug()<<driver;

在这里插入图片描述
运行代码实测

    hostName = "localhost";
    dbName = "db";
    user = "root";
    pwd = "";
    sqlconn = QSqlDatabase::addDatabase("QMYSQL");

    sqlconn.setHostName(hostName);
    sqlconn.setDatabaseName(dbName);
    sqlconn.setPassword(pwd);
    sqlconn.setPort(3306);
    sqlconn.setUserName(user);

    qDebug("database open status: %d\n", sqlconn.open());

    QSqlError error = sqlconn.lastError();
    qDebug() << error.text();

    sqlconn.close();

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值