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

 

Logo

一站式 AI 云服务平台

更多推荐