之前项目用的Oracle数据库,后来搬迁使用MySQL数据库,运行后显示无法连接数据库,排查后发现qt不支持MySQL驱动,版本太老了。
解决方法:
1、使用 qDebug() << QSqlDatabase::drivers(); 打印qt支持的数据库驱动,若没有QMYSQL驱动,执行以下步骤
2、在C盘创建MySQL文件夹,将你安装的MySQL数据库的include和lib文件夹复制到C盘的MySQL文件夹 (该操作仅为方便后续理解)
注意:MySQL安装32位还是64位视项目而定,我们测试的项目使用的32位,MySQL则安装的是 mysql-5.7.20-win32
3、用qt creator打开qt安装目录下的mysql.pro文件(不同人的路径不一样,只要找到该pro文件就行)
3、pro文件添加以下代码,点击小锤子编译
INCLUDEPATH+=“c:\MySQL\include”
LIBS += -Lc:\MySQL\lib\ -llibmysql
4、找到编译后的三个文件,将其复制到pro文件的上级目录下(一般是sqldrivers文件夹)
5、将C盘MySQL文件夹下lib文件夹的以下四个文件(第2步复制操作的文件夹),复制到qt的bin目录下(qtcreator.exe的启动路径)
libmysql.dll
libmysql.lib
mysqlclient.lib
mysqlservices.lib
6、使用 qDebug() << QSqlDatabase::drivers();
打印qt支持的数据库驱动