QT C++ 5.12使用QMYSQL driver连接MaraiDB数据库

本文详细介绍了如何在QTC++5.12环境下,通过获取和编译必要的dll文件(libmariadb.dll,qsqlmysql.dll,qsqlmysqld.dll)来连接MariaDB数据库。步骤包括安装MariaDB以获取libmariadb.dll,手动编译Qt的mysql.pro工程以生成qsqlmysql.dll和qsqlmysqld.dll,最后将这些文件放置到相应Qt目录下,实现成功连接数据库。

QT C++ 5.12使用QMYSQL driver连接MaraiDB数据库,需要用到3个dll文件,包括:
QT: qsqlmysql.dll qsqlmysqld.dll ,//这个两个文件QT不带需要自己编译,很简单别怕,往下看。
MaraiDB: libmariadb.dll  //  C:\MariaDB 10.6\lib 文件位置
如果没有正确安装,可能报错“QMYSQL driver not loaded”。
1、libmariadb.dll
可在安装MariaDB 后获得libmariadb.dll(在“C:\MariaDB 10.6\lib”里面)。

2、qsqlmysql.dll和qsqlmysqld.dll
如果本机没有版本正确的qsqlmysql.dll和qsqlmysqld.dll,需要手动编译。
(1)从QT官网下载mysql.pro工程源码,注意下载qt一定要包含源码。如果已经安装,通常所在在目录

C:\Qt5\5.12.11\Src\qtbase\src\plugins\sqldrivers\mysql

(2)编译
用QtCreator打开工程“Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro”,做如下增加编译参数:

//QMAKE_USE += mysql  注释掉这个。

增加下面两条:

INCLUDEPATH+=“C:\MariaDB 10.6\include\mysql”
LIBS+=“C:\MariaDB 10.6\lib\libmariadb.lib”
这时候就可以构建获得两个文件“qsqlmysql.dll和qsqlmysqld.dll”,如果找不到可以在磁盘中根据构建时间搜索下这两个文件(通常编译完成会在所在盘符根目录出现一个plugins目录,在“plugins\sqldrivers”里面)。

 

使用驱动
拷贝qsqlmysql.dll和qsqlmysqld.dll 到“\Qt5\5.12.11\mingw73_64\plugins\sqldrivers”中;同时拷贝libmariadb.dll到\Qt5\5.12.11\mingw73_64\bin中。至此即可连接MariaDB数据库了,如:

dbconn = QSqlDatabase::addDatabase(“QMYSQL”);
dbconn.setHostName(hostName);
dbconn.setDatabaseName(dbName);
dbconn.setUserName(userName);
dbconn.setPassword(password);
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值