QT C++ 5.13.2使用QMYSQL driver连接MaraiDB数据库
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);
…
- 点赞
- 收藏
- 分享
- 文章举报
- 为什么将Qt开发的使用数据库的程序发布到其它机器就连接不上数据库?
- qt在windows下使用mysql,提示有数据库,但就是连接不上
- ubuntu c++下连接mysql数据库和数据库的使用
- 如何在 静态编译的QT 5.5.1 中 使用数据库插件连接 ODBC(调用静态插件)
- C++在WINDOWS平台使用ADO连接数据库
- c++控制台 使用ado连接数据库
- fedora9下使用QT连接数据库(QSqlDatabase: QODBC driver not loaded)
- C++ 使用OLEDB连接数据库
- C++使用ADO连接数据库及其实例
- Qt连接QSqlite数据库,使用QTableWidget显示数据总结
- 如何在 静态编译的QT 5.5.1 中 使用数据库插件连接 ODBC
- 解决QT使用mysql编译时不能连接数据库的问题
- windows系统使用C++ QT使用ocilib方式连接Oracle数据库
- VS2012 使用MySql的API函数连接数据库(成功), 以及使用mysql-connector-c++-1.1.3遇到的问题!
- 使用ODBC连接数据库[C++]
- C++使用IBPP连接firebird数据库
- 使用weblogic连接池来得到数据库连接(通过配置文件进行读取的优化方案)
- 在Pocket PC中使用Web Service连接数据库
- 如何通过使用 ADO.NET 2005 和 Visual C# 2005 或使用 ADO.NET 和 Visual C# .NET 连接到数据库并运行命令
- 详细介绍如何使用Connection对象连接数据库