您的位置:首页 > 编程语言 > C语言/C++

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

2020-03-01 02:06 302 查看

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);

  • 点赞
  • 收藏
  • 分享
  • 文章举报
csshencsdn 发布了1 篇原创文章 · 获赞 0 · 访问量 28 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: