解决问题 Qt + MySql:”QSqlDatabase: QMYSQL driver not loaded”
开发环境
- Windows10 1803
- Qt 5.11
- MSVC 2017 (64bit)
问题描述
在使用 Qt 链接 MySql 数据库时,编写代码如下:
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("host");
db.setUserName("name");
db.setPassword("pwd");
db.setDatabaseName("db");
if(db.open()){
qDebug() << "OK" << endl;
}
else{
qDebug() << "Failed" << endl;
}
db.close();
运行测试时,输出如下:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
Failed
提示无法加载驱动。
解决方法
Step1. 下载 Connector/C 压缩包
进入 MySql Connector/C下载页,下载64位zip压缩包:
Step2. 提取压缩包中的动态链接库
提取下图中的 .dll 文件:
Step3. 复制动态链接库到 Qt 目录
定位到目录C:\Qt\Qt5.11.0\5.11.0\msvc2017_64\bin
,将提取出来的 .dll 复制到此处:
Step4. 重新运行代码 解决问题
如下图所示,问题解决: