Error:QSqlDatabase: QMYSQL driver not loaded (Qt+C++ 找不到mysql的驱动)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Error:QSqlDatabase: QMYSQL driver not loaded (Qt+C++ 找不到mysql的驱动)

错误描述

QSqlDatabase: QMYSQL driver not loaded

QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7


场景

使用Qt Create连接数据库时抛出错误,连接代码具体如下:

    db = QSqlDatabase::addDatabase(database.DatabaseType);//MySQL数据库
    db.setHostName(database.DatabaseIP);                // 主机名
    db.setDatabaseName(database.DatabaseName);          // 数据库名
    db.setUserName(database.DatabaseUserName);          // 连接用户名
    db.setPort(database.DatabasePort);                  // 端口号
    db.setPassword(database.DatabasePassword);          // 连接密码
    qDebug() << database.DatabaseType << database.DatabaseIP
             << database.DatabaseName << database.DatabaseUserName
             <<database.DatabasePort<<database.DatabasePassword;
    if(false == db.open())
    {
       QMessageBox::warning(NULL, u8"Error",u8"账号或者密码错误!");
        exit(EXIT_FAILURE);
    }


解决方案

这个是因为缺少mysql的驱动导致的,这里我们需要将libmysql.dll文件复制到qt的安装路径下。

查找libmysql.dll

如果你本地安装过mysql,那么就省事多了。直接去mysql的安装路径下:C:\Program Files\MySQL\MySQL Server 5.6\lib。这时我的路径(安装的默认路径)。

如果你没有安装mysql,那么就需要从官网下载。然后在下载的压缩包中找到libmysql.dll文件。

将libmysql.dll复制到指定路径

首先需要找到Qt的安装路径,我的路径为:D:\Qt\Qt5.9.9\5.9.9。然后到图中所示路径下,可以看到有MinGW、msvc2013、msvc2015、msvc2017等,这里就是你使用的编译器。


使用MinGW编译

使用MinGW编译需要复制到MingGW路径下:D:\Qt\Qt5.9.9\5.9.9\mingw53_32\bin,将前面找到的libmysql.dll文件复制到这里。


使用哪个编译就到哪个文件中的bin目录进行复制即可。

运行

这里我们需要切换到MinWG编译器中。


然后就可以正常登录咯。

关于Oracle的驱动问题

Oracle需要通过cmake软件手动生成,或者使用 别人生成好的。


C++常见错误

fatal error C1189: #error: STL1003: Unexpected compiler, expected C++ compiler


error C2041: illegal digit ‘9‘ for base ‘8‘ | error C2059: syntax error: ‘bad suffix on number‘


Qt5Error:msvc-version.conf loaded but QMAKE_MSC_VER ins‘t set


Error:E0415 no suitable constructor exists to convert from “int“ to “Rational“


Error:E0415 no suitable constructor exists to convert from “int“ to “Rational“


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
关系型数据库 MySQL Java
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
115 0
|
1月前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
67 4
|
2月前
|
Java 关系型数据库 MySQL
mysql5.7 jdbc驱动
遵循上述步骤,即可在Java项目中高效地集成MySQL 5.7 JDBC驱动,实现数据库的访问与管理。
507 1
|
2月前
|
Java 关系型数据库 MySQL
【编程基础知识】Eclipse连接MySQL 8.0时的JDK版本和驱动问题全解析
本文详细解析了在使用Eclipse连接MySQL 8.0时常见的JDK版本不兼容、驱动类错误和时区设置问题,并提供了清晰的解决方案。通过正确配置JDK版本、选择合适的驱动类和设置时区,确保Java应用能够顺利连接MySQL 8.0。
271 1
|
1月前
|
网络协议 关系型数据库 MySQL
MySQL报ERROR 2002 (HY000)解决
通过上述步骤,可以有效地解决MySQL连接时出现的 `ERROR 2002 (HY000)`错误。这些步骤包括检查和启动MySQL服务、配置文件检查、套接字文件检查、日志文件分析、进程检查、防火墙设置、客户端配置和最终的MySQL重装。确保每个步骤都按顺序执行,有助于快速定位和解决问题,使MySQL服务器恢复正常运行。
803 0
|
4月前
|
SQL 关系型数据库 MySQL
mysql密码错误-ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor:yes)
这篇文章提供了解决MySQL数据库"Access denied for user 'root'@'localhost' (using password: YES)"错误的方法,通过跳过密码验证、修改root密码,然后重启服务来解决登录问题。
mysql密码错误-ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor:yes)
|
5月前
|
缓存 关系型数据库 MySQL
error: Failed dependencies: mariadb-connector-c-config is obsoleted by mysql-community-server-8.0.36-1.el7.x86_64 问题解决
error: Failed dependencies: mariadb-connector-c-config is obsoleted by mysql-community-server-8.0.36-1.el7.x86_64 问题解决
302 19
|
4月前
|
关系型数据库 MySQL Java
【Azure 应用服务】应用服务连接 Azure MySQL 一直失败,报错 Create connection error
【Azure 应用服务】应用服务连接 Azure MySQL 一直失败,报错 Create connection error
|
5月前
|
关系型数据库 MySQL Linux
error: Failed dependencies: libncurses.so.5()(64bit) is needed by mysql-community-client-8.0.36-1.el7.x86_64 libtinfo.so.5()(64bit) is needed by mysql-community-client-8.0.36-1.el7.x86_64 如何解决?
error: Failed dependencies: libncurses.so.5()(64bit) is needed by mysql-community-client-8.0.36-1.el7.x86_64 libtinfo.so.5()(64bit) is needed by mysql-community-client-8.0.36-1.el7.x86_64 如何解决?
806 3
|
5月前
|
关系型数据库 MySQL 测试技术
MySQL 报错 ERROR 1709: Index column size too large
MySQL 报错 ERROR 1709: Index column size too large
254 4

推荐镜像

更多