Qt使用MySql提示QMYSQL driver not loaded

 

介绍

Qt5.10使用Mysql提示如下错误:

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

QSqlDatabasePrivate::addDatabase: duplicate connection name ‘PalmshopSqlConnection’, old connection removed.

调用方式如下:

QSqlDatabase::addDatabase("QMYSQL");

解决方案

首先Qt后续版本已经打包了支持的数据库的驱动,即完全可以直接通过QSqlDatabase::addDatabase(“QMYSQL”)使用对应的数据库,支持的数据库列表如下:
QPSQL、QMYSQL、QOCI、QODBC、QDB2、QTDS、QSQLITE、QIBASE
每个数据库对应的类:
QPSQLDriver、QMYSQLDriver、QOCIDriver、QODBCDriver、QDB2、QTDSDriver、QSQLiteDriver、QIBaseDriver

驱动文件在:D:\Qt\Qt5.10.0\5.10.0\mingw53_32\plugins\sqldrivers,地址请对应修改

但是这些驱动只是让QSqlDatabase能够使用QMYSQLDriver类,但这个类还是会调用对应数据库的操作库,所以必须安装MySQL,准确来说是必须有MySQL的库“libmysql.dll”和“libmysqld.dll”,这两个文件,文件一般在“\mysql5.7.14\lib\”路径,只需要将这两个文件复制到“D:\Qt\Qt5.10.0\5.10.0\mingw53_32\bin”下即可。

重新编译运行即可正常使用。

发布release版本时附带相关文件,不要忘了带上“libmysql.dll”。windeployqt自动打包不会打包此文件,需要自行拷贝

Techie亮博客,转载请注明:Coologic » Qt使用MySql提示QMYSQL driver not loaded

Coologic 博客域名已更改,已从 www.techieliang.com 改为 www.coologic.cn,上述链接地址受到影响,若需查看源文请手动修改,多有不便,敬请谅解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值