You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何加载QMYSQL驱动?遭遇驱动未加载问题求助

解决QMYSQL驱动加载失败的步骤

1. 修正代码中的核心错误

MySQL是客户端-服务器架构,不能直接指定数据文件路径(你代码里的city.idb是MySQL的底层数据文件,不是连接用的数据库名)。需要填写数据库的逻辑名称(比如示例中的world),修正后的代码:

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setDatabaseName("world"); // 这里填数据库名称,不是本地文件路径
db.setHostName("localhost");
db.setUserName("root");
db.setPassword("1234567890");

// 新增连接检查,方便定位问题
if (!db.open()) {
    qDebug() << "连接失败:" << db.lastError().text();
} else {
    qDebug() << "连接成功";
}

2. 确认驱动文件的正确位置

你找到的libqsqlmysql.dll和libqsqlmysqld.dll是Qt的动态驱动文件,不需要.a静态库(静态库仅用于Qt静态编译场景)。这些.dll文件需要放在以下两个位置之一:

  • Qt官方驱动目录:<QtDir>\mingw73_xx\plugins\sqldrivers
  • 你的程序运行目录:在.exe所在文件夹下创建sqldrivers子目录,将两个.dll文件放入其中

3. 解决MySQL依赖库缺失问题

QMYSQL驱动依赖MySQL的客户端库libmysql.dll,必须确保程序能找到这个文件:

  • 从MySQL安装目录(通常是C:\Program Files\MySQL\MySQL Server 8.0\lib)复制libmysql.dll到你的程序运行目录
  • 或者将该文件复制到<QtDir>\mingw73_xx\bin目录
  • 也可以把MySQL的lib目录添加到系统环境变量PATH中

4. 验证驱动加载状态

运行程序后,如果仍报错,通过db.lastError().text()输出的具体信息,能快速定位是权限问题、网络问题还是库文件缺失问题。

内容的提问来源于stack exchange,提问作者mrtz-dvlpr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 18:42:43