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

本文介绍了如何使用QT C++ 5.13.2版本的QMYSQL driver连接到MariaDB数据库。首先,你需要获取libmariadb.dll,它位于MariaDB的安装目录下。接着,如果你没有qsqlmysql.dll和qsqlmysqld.dll,可以从QT官网下载源码并编译,或者通过QtCreator进行编译。最后,将编译得到的驱动文件和libmariadb.dll复制到QT的相应目录,即可成功建立数据库连接。

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


QT C++ 5.13.2使用QMYSQL driver连接MaraiDB数据库,需要用到3个dll文件,包括:
QT: qsqlmysql.dll qsqlmysqld.dll
MaraiDB: libmariadb.dll
如果没有正确安装,可能报错“QMYSQL driver not loaded”。

1、libmariadb.dll

可在安装MariaDB 后获得libmariadb.dll(例如在“C:\Program Files\MariaDB 10.4\lib”里面)。

2、qsqlmysql.dll和qsqlmysqld.dll

如果本机没有版本正确的qsqlmysql.dll和qsqlmysqld.dll,需要手动编译。如果有直接跳过此步骤。
(1)从QT官网下载mysql.pro工程源码。如果已经安装,通常所在在目录形如“D:\Qt\Qt5.8.0\5.8\Src\qtbase\src\plugins\sqldrivers\mysql”。
方式一:利用MaintenanceTool.exe工具更新添加src。具体参考:
https://blog.csdn.net/liunanya/article/details/90321656
方式二:方式1耗时过长,有时可能下载不了所需的代码,这时候要手动下载文件。直接去镜像网站上下载所需的源码文件就可以了。可从“http://download.qt.io/static/mirrorlist/”上手动下载文件“5.13.2-0-201910281547qtbase-everywhere-src-5.13.2.7z”。例如可从http://qt.mirror.constant.com/online/qtsdkrepository/windows_x86/desktop/qt5_5132_src_doc_examples/qt.qt5.5132.src/上获得,国内镜像如“https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.13/5.13.2/submodules/”。
(2)编译
用QtCreator打开工程“Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro”,做如下增加编译参数:
INCLUDEPATH+=“C:\Program Files\MariaDB 10.4\include\mysql”
LIBS+=“C:\Program Files\MariaDB 10.4\lib\libmariadb.lib”
这时候就可以构建获得两个文件“qsqlmysql.dll和qsqlmysqld.dll”,如果找不到可以在磁盘中根据构建时间搜索下这两个文件(通常编译完成会在所在盘符根目录出现一个plugins目录,在“plugins\sqldrivers”里面)。

2、使用驱动

拷贝qsqlmysql.dll和qsqlmysqld.dll 到“\Qt\Qt5.13.2\5.13.2\mingw73_64\plugins\sqldrivers”中;同时拷贝libmariadb.dll到F:\Qt\Qt5.13.2\5.13.2\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、付费专栏及课程。

余额充值