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

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

被折叠的 条评论
为什么被折叠?



