QT连接数据库报错-QT没有mysql驱动的解决办法SqlDatabase: QMYSQL driver not loadedQSqlDatabase: available drivers

6 篇文章 1 订阅
订阅专栏

文章目录:

第一种问题:编译环境问题

一:报错和原因 

二:如何确定自己环境是否匹配

三:如何解决

1.可能报错:qt的sqldrivers\mysql里面没有mysql.pro文件 

解决办法:查看是否有src文件夹,没有就要(卸载重新安装,或者自己网上找源码、或者利用第三种问题的方法)

2.QT安装必须注意的事情:网上很多安装教程有问题 

第二种问题:缺少文件利用编译生成

一:报错和原因

二:如何解决

第一步:查看D:\QT\5.12.10\mingw73_64\plugins\sqldrivers目录下是否有qsqlmysql.dll 和 qsqlmysqld.dll这两个动态链接库

第二步:查看Qt安装时中是否下载了源码

第三步:进入mysql项目源码的路径   D:\QT\5.12.10\Src\qtbase\src\plugins\sqldrivers\mysql

1.新建一个lib空文件夹(用于存后面生成的文件)

2.右键用QT软件打开mysql.pro

3.在QT里面编辑代码

4.修改msvc-version.conf文件(mingw73_64、msvc2017_64)   

5.点击执行和构建

6.把这四个生成文件粘贴到对应的那个构建套件的驱动目录下sqldrivers

7.去MySQL安装路径下找到 libmysql.dll复制一下

第四步:重启电脑和QT

第三种问题:你的QTsqldrivers\mysql文件里面直接没有mysql.pro文件没法生成 

一:报错和原因  

二:如何解决 

第一步:选择对应版本型号 

第二步:将libcrypto-1_1-x64.dll,libmysql.dll,libssl-1_1-x64.dll这3个文件复制到D:\qt\QT\6.2.4\mingw_64\bin文件夹中

第三步:sqldrivers的mysql文件复制到D:\qt\QT\6.2.4\mingw_64\plugins\sqldrivers中

第四步:重启电脑和QT

第四部分:测试是否解决问题(QT连接Mysql数据库)


解决这个问题花了两三天,各种问题都遇到了,这里给大家避个坑 

报错 

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7

原因:qt没有mysql驱动 

具体原因:MySQL Qt 驱动程序通常是作为一个单独的包提供,不是 Qt 的默认组件,需要自己生成相应的驱动文件

第一种问题:编译环境问题

一:报错和原因 

原因:Mysql和QT环境不匹配

具体原因:Mysql的是64位的,但是我的QT是32位的,这就可能导致了libmysql.lib和QT套件位数不一样(mysql一定要和qt位数相同)

二:如何确定自己环境是否匹配

第一步:先看Mysql

win + r

输入:mysql --version

 第二步:看QT

 

看见没:我的Mysql是64位,然而我的QT是32位

三:如何解决

环境不匹配,那么就卸载QT重新安装涩

怎么下载点这里 

1.可能报错:qt的sqldrivers\mysql里面没有mysql.pro文件 

原因:在安装的过程中qt安装包一定要带源码的版本,要安装源码,不然没有mysql.pro文件就无法编译了

解决办法:查看是否有src文件夹,没有就要(卸载重新安装,或者自己网上找源码、或者利用第三种问题的方法)

  源码下载

在安装QT时,需要手动打上勾的选项是Source Components(源码),这个默认是不安装的,如果想要安装源码,需要手动打上勾后才能进行安装 

2.QT安装必须注意的事情:网上很多安装教程有问题 

 我还发现网上很多安装教程有问题:这也是问题的关键,有些是必须勾选的组件,有的不能同时勾选64位和32位这样会导致冲突(别问,问就是我遇到过然后搞半天发现问题又卸载了,最后又重新安装),最好选择QT6以上的版本

根据自己的电脑来:比如我的电脑64位

那么 必须勾选:MinGw 6.2.4 64-bit(QT下)、Sources、MinGW 6.2.4-64(Developer下)

第二种问题:缺少文件利用编译生成

一:报错和原因

缺少相应文件:libqsqlmysql.a、libqsqlmysqld.a、qsqlmysql.dll、qsqlmysqld.dll

二:如何解决

下面的路径根据自己的安装路径来:别直接复制粘贴

第一步:查看D:\QT\5.12.10\mingw73_64\plugins\sqldrivers目录下是否有qsqlmysql.dll 和 qsqlmysqld.dll这两个动态链接库

 如果没有,需要自己编译构建这两个文件(基于本地qt环境和mysql环境编译生成)

第二步:查看Qt安装时中是否下载了源码

没有点击源码下载

第三步:进入mysql项目源码的路径   D:\QT\5.12.10\Src\qtbase\src\plugins\sqldrivers\mysql

1.新建一个lib空文件夹(用于存后面生成的文件)

2.右键用QT软件打开mysql.pro

3.在QT里面编辑代码

修改mysql.pro 

TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

# QMAKE_USE += mysql
OTHER_FILES += mysql.json

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)	# 指定这个文件的绝对地址


# 添加你自己的mysql安装目录下的include文件
INCLUDEPATH += "C:\Program Files\MySQL\MySQL Server 8.0\include"
# 添加你的mysql安装目录下的lib文件夹下的libmysql.lib文件
LIBS += "C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.dll"
# 设置编译好的qmysql.dll放置的目录,不然你可能不知道会生成在哪。
DESTDIR = ../mysql/lib/

 或者

​
TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

# QMAKE_USE += mysql
OTHER_FILES += mysql.json

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)	# 指定这个文件的绝对地址


# 添加你自己的mysql安装目录下的include文件
INCLUDEPATH += "C:\Program Files\MySQL\MySQL Server 8.0\include"
# 添加你的mysql安装目录下的lib文件夹下的libmysql.lib文件
LIBS += "C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.lib"
# 设置编译好的qmysql.dll放置的目录,不然你可能不知道会生成在哪。
DESTDIR = ../mysql/lib/

​

修改qsqldriverbase.pri 

QT  = core core-private sql-private

# For QMAKE_USE in the parent projects.
# include($$shadowed($$PWD)/qtsqldrivers-config.pri)

include(./configure.pri)

PLUGIN_TYPE = sqldrivers
load(qt_plugin)

DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
4.修改msvc-version.conf文件(mingw73_64、msvc2017_64)   

D:\QT\5.12.10\mingw73_64\mkspecs\common

D:\QT\5.12.10\msvc2017_64\mkspecs\common

对应自己的编译器版本,里面会提示,我的是vs2012

 

QMAKE_MSC_VER, 1699
5.点击执行和构建

 就会在D:\QT\5.12.10\Src\qtbase\src\plugins\sqldrivers\mysql\lib生成如下四个文件

libqsqlmysql.a

libqsqlmysqld.a

qsqlmysql.dll

qsqlmysqld.dll

6.把这四个生成文件粘贴到对应的那个构建套件的驱动目录下sqldrivers

D:\QT\5.12.10\msvc2017_64\plugins\sqldrivers

7.去MySQL安装路径下找到 libmysql.dll复制一下

C:\Program Files\MySQL\MySQL Router 8.0\lib 

 找到之后,复制到Qt对应构建套件的bin目录下

D:\QT\5.12.10\mingw73_64\bin

D:\QT\5.12.10\msvc2017_64\bin

 

第四步:重启电脑和QT

第三种问题:你的QTsqldrivers\mysql文件里面直接没有mysql.pro文件没法生成 

一:报错和原因  

 直接没有mysql.pro文件

二:如何解决 

使用别人编译好文件不用生成: qt_mysql_驱动程序下载

第一步:选择对应版本型号 

根据编译器型号和电脑型号来选择:64位?32位?MinGW? MSVC?

Debug:通常称为调试版本

Release:称为发布版本

我选择的是: Release版本

第二步:将libcrypto-1_1-x64.dll,libmysql.dll,libssl-1_1-x64.dll这3个文件复制到D:\qt\QT\6.2.4\mingw_64\bin文件夹中

第三步:sqldrivers的mysql文件复制到D:\qt\QT\6.2.4\mingw_64\plugins\sqldrivers

 

第四步:重启电脑和QT

第四部分:测试是否解决问题(QT连接Mysql数据库)

操作看这里: QT连接Mysql数据库
Qt5.4下连接Mysql,QSqlDatabase: QMYSQL driver not loaded but available-附件资源
03-02
Qt5.4下连接Mysql,QSqlDatabase: QMYSQL driver not loaded but available-附件资源
Student-Task:这是一个包含 SQLDataBase 的 Android 应用程序项目。 这个为学生开发的应用程序
06-03
学生任务 这是一个包含 SQLDataBase 的 Android 应用程序项目。 这个应用程序为学生开发
Qt连接MySQL提示“QSqlDatabase: QMYSQL driver not loaded”的解决办法
热门推荐
imred的专栏
06-26 1万+
我使用的Qt版本是Qt5.7.1 msvc2015 64位版,实际上并没有使用MySQL,而是MariaDB,版本为10.2.6。当我运行Qt附带的样例“sqlbrowser”时,总会提示如下信息:QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC Q
QT6.6.0连接MYSQL
最新发布
nosdfj的博客
04-11 476
QT6.6连接使用MYSQL
QT报错】QSqlDatabase: QMYSQL driver not loaded
sazass的博客
02-02 387
mysql没有成功驱动。 具体原因可以根据以下一一排除: 1.mysql 的位数与QT的位数不统一; 如mysql64位,QT32位。自己检查一下。 2.mysql的头文件和文件路径没有加入到项目的pro文件中: 3.QT没有配置mysql驱动 3.1检查QT是否安装完sql组件 若报错则说明QT在安装时没有选中sql组件,重新安装即可; 3.2 检查是否有qsqlmysql.dll 参考路径:C:\Qt\Qt5.14.2\5.14.2\mingw73_64\plugins\sqldrivers 显然Q
QT使用MySQL报错:QSqlDatabase: QMYSQL driver not loaded
weixin_30896825的博客
12-25 353
QT工程里使用到了MYSQL数据库,然而运行时出现以下错误: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 这是由于QT中的MYSQL数据库插件未加载成功,这种情况一般是由两种原因引起: 第...
Qt连接数据库失败的原因以及常用解决方法
Jacksqh的博客
02-14 8768
用qDebug() << db.lastError().text();来看错误原因 ①先还是检查一下你的数据库名称,用户名,主机名,密码,端口号这些都设置正确没 像我如果把用户名写错就会显示下面这个错误???? "Access denied for user 'rot'@'localhost' (using password: YES) QMYSQL: Unable to connect" 数据库连接代码如下 db.setDatabaseName("qtqq");//数据库名称(和你设置的保
qodbc mysql_qt连接mysql报错:QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQL...
weixin_35649605的博客
01-18 686
之前使用Qt连接mysql数据库,遇到过这样的报错,后来解决了,但没有记录下来,这次又遇到了,花了好多的精力,这次吸取上次的教训,做一下记录和总结。报错截图: 编辑背景:Qt5.13.0,编译器是mingw73_64,是64位的。mysql-5.7.27-winx64,也是64位的。有人说,qt的编译器的位数要和数据库的位数是一致的,我没试过不同位数行不行,反正我的都是64位的。问题:使用库进行m...
Qt MySQL Driver not loaded
ldhshao的专栏
08-10 179
文章目录场景分析总结 场景 MySQL客户端连接server失败,日志显示:“Driver not loaded” 分析 在网上查资料,都提及两个文件 libmysql.dll 和 qsqlmysqld.dll libmysql.dll路径:C:\Qt\Qt5.9.7\5.9.7\mingw53_32\bin qsqlmysqld.dll路径:C:\Qt\Qt5.9.7\5.9.7\mingw53_32\plugins\sqldrivers 发现我缺少libmysql.dll文件。 于是,将libmysql
qt没有mysql驱动解决办法
敖丙007的博客
03-14 2501
qt没有mysql驱动解决办法
Qt连接MySQL出现QSqlDatabase: QMYSQL driver not loaded
e3399的专栏
05-29 1万+
QSqlDatabase: QMYSQL driver not loaded QSqlDatabaseavailable drivers: QSQLITE 解决方法,先看下是否已经安装了libqsqlmysql.so [test1@localhost ~]$ locate libqsqlmysql.so /var/cache/abrt-di/usr/lib/debug/usr/lib/
Qt访问数据库问题:QSqlDatabase: QMYSQL driver not loaded
丁爸的博客
08-01 774
我在项目中使用Qt访问mysql数据库时,会提示以下错误信息 QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7 背景 使用新版Qt5.15访问mysql时,出现QSqlDatabase: QMYSQL driver not loaded错误,项目配置如图: 解决问题思路 1. 查找qsqlmysql.dll 先在对应版本MinGW 64-bi
QkLink-URLShortener:这是带有SQL数据库的基于Flask和Python的URLShortener Web应用程序
04-19
Flask用于创建微型Web结构,并用于导入SQLAlchemy,它是程序SQL Database驱动程序 URLSHORTENER- | | MyEnv ---- | bin- include- lib- .env .gitignore pyenv.cfg自述文件--- | readme.md Homepage.png Stats.png...
collegespace:CollegeSpace 是学术门户,旨在为所有学生的需求提供整体解决方案
08-04
学院空间学术门户网站旨在为所有学生的需求提供整体解决方案。关于该项目 CollegeSpace 是学术门户,旨在为所有学生的需求提供整体解决方案。 为什么选择大学空间: 提供笔记、课程大纲和前一年的考试。 管理员或...
sqlite-viewer:在线查看SQLite文件
02-22
SQLite查看器 在线查看SQLite文件。 使用解析sqlite文件。 您还可以加载远程文件(使用JS ajax,远程服务器必须发送Access-Control-...执照 Licensed under the Apache License, Version 2.0 (the "License"); you m
Android数据库SQLDatabase
08-20
数据库相关操作,辅助类封装的比较好且为一个Java文件,可直接仿造移植用于需要Database的地方。
【问题记录】Qt连接MySQL报 QMYSQL driver not loaded 错误
weixin_43729127的博客
11-05 629
Qt连接MySQL报 QMYSQL driver not loaded 错误!保姆级解决办法!!
QT-MySQL QSqlDatabase: QMYSQL driver not loaded
zxmyoung的博客
11-28 1498
QT Mysql
Qt连接MySQL没有驱动
weixin_46870692的博客
09-14 1516
QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
qt链接mysql数据库失败
03-28
可能的原因和解决方法如下: 1. MySQL服务未启动:确保MySQL服务已经启动。 2. MySQL连接参数错误:确保连接参数(如IP地址、端口号、用户名、密码等)正确无误。 3. 防火墙阻止连接:检查防火墙设置,确保允许MySQL端口连接。 4. 缺少MySQL驱动程序:确认已经正确安装QtMySQL驱动程序。可以通过Qt的帮助文档了解如何安装MySQL驱动程序。 5. 数据库权限问题:确保数据库用户具有访问所需数据库的权限。 6. MySQL版本不兼容:确保QtMySQL驱动程序和MySQL数据库版本兼容。 7. 数据库连接池问题:如果使用了连接池,确保连接池配置正确。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 数据结构——学习笔记——入门必看【建议收藏】 398071
  • 252个核心词根——词缀(前缀-后缀)总结大全【最全-一文看懂!!!】 312437
  • C语言——经典200道实例【基础例题100道——进阶例题100道】 192760
  • 数据结构——图的五种种类【无向图-有向图-简单图-完全无向图-有向完全图】 83653
  • 大学C语言各章节练习题_及答案合集【350题】《选择题- 判断-程序填空-程序设计》 75999

分类专栏

  • 考研数据结构 付费 14篇
  • 计算机组成原理 付费 13篇
  • 操作系统 计算机网络 付费 17篇
  • 考 研——英语 付费 49篇
  • 考 研——高数 付费 75篇
  • 考研专业课 2篇
  • 数据结构 27篇
  • C++ 28篇
  • C语言 57篇
  • 编程基础知识 5篇
  • 公务员 5篇
  • Python 7篇
  • Arduino 1篇
  • Linux系统编程 1篇
  • Linux网络编程 9篇
  • STM32 12篇
  • QT 6篇
  • 数电模电 4篇
  • 电路 1篇
  • OpenCV 3篇
  • PCB设计 1篇
  • 单片机CC2530 12篇
  • Linux基础Shell编程 30篇
  • VB 4篇
  • 数据库 6篇
  • 前端相关 10篇
  • JAVA 5篇
  • 少编 6篇
  • 编制相关 1篇
  • 事业单位 4篇
  • 央企国企 1篇
  • 资源分享 22篇
  • 考研相关 18篇
  • 英语四级 11篇
  • 软件下载安装 1篇
  • 炫彩生活 2篇
  • 生活平时遇到的问题 11篇

最新评论

  • 252个核心词根——词缀(前缀-后缀)总结大全【最全-一文看懂!!!】

    2401_85453630: 总结得很好

  • 模电基础知识学习笔记

    眸如星: np,学费应该交给你

  • 实战项目:VB实现小鸟快跑小游戏

    刘鑫磊up: 素材在代码下载里面

  • 实战项目:VB实现小鸟快跑小游戏

    红豆泥伢白仠: 请问您的游戏素材可以分享一下吗

  • QT连接数据库报错-QT没有mysql驱动的解决办法SqlDatabase: QMYSQL driver not loadedQSqlDatabase: available drivers

    太阳朵朵雨: https://blog.csdn.net/u012329294/article/details/87972492 去除掉复选框就行了

大家在看

  • vue+jenkins+nginx+node+koa搭建一整套案例和原理 751
  • 基于SpringBoot+Vue+uniapp的考试系统的详细设计和实现(源码+lw+部署文档+讲解等) 676
  • 6.S081的Lab学习——Lab5: xv6 lazy page allocation 1494
  • 基于SpringBoot+Vue+uniapp的亿家旺生鲜云订单零售系统的详细设计和实现(源码+lw+部署文档+讲解等) 501
  • Java web应用性能分析之【java进程问题分析概叙】 514

最新文章

  • C++程序设计教案
  • Python题库
  • Python程序设计教案
2024年17篇
2023年79篇
2022年51篇
2021年159篇
2020年161篇
2019年14篇

目录

目录

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘鑫磊up

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司嘉兴百度seo推荐海口网站seo优化价格广元如何制作网站公司阿坝网站关键词优化广安阿里店铺托管报价西安推广网站报价迪庆关键词按天计费哪家好和县关键词排名包年推广报价松原seo网站优化公司银川模板制作哪家好喀什百姓网标王伊犁设计公司网站报价安阳网站改版价格汉中外贸网站制作公司铁岭推广网站价格池州设计公司网站哪家好百色网站改版哪家好临沧SEO按效果付费报价张北网站搜索优化公司遵义seo网站优化推荐庆阳品牌网站设计公司大同网站seo优化公司泉州建站推荐汕尾网站推广公司玉林建站多少钱昭通推广网站推荐伊春网站排名优化推荐莆田网站改版报价郑州高端网站设计宜春外贸网站设计公司歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化