PyQt5连接mysql失败解决

一:背景

最近研究一个项目,里面用的Pyqt5编写的桌面应用,跑了下源码发现连接数据库那块出来问题,最终调试发现里面用的QtSql去连接mysql提示驱动找不到。

具体报错信息如下:

Could not parse stylesheet of object QTableView(0x2075e3bee20)
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
Driver not loaded Driver not loaded
二:原因分析

这里应该是缺少QMYSQL这个驱动,网上找了很多资料说是QT5.15.*版本的包里面没有这个驱动,需要自己下载源码包重新编译生成dll文件,最后尝试着下载了QT的整个源码包,按照网上的方法尝试了,最后还是提示这个驱动找不到。无奈只好寻求其他解决方案。

三:解决方案

(一)使用通用的odbc驱动来连接MySQL,我本地是windows环境需要下载mysql-connector-odbc,我是用的mysql8.0下载如下的驱动,连接如下

https://cdn.mysql.com//Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.35-win32.msi

下载完就一步一步的安装成功即可。

(二)配置

安装后,在管理工具选择odbc数据源,

填写数据库账号密码,数据库名称,测试连接如下:

这样就连接成功了

(三)QT代码连接

db = QtSql.QSqlDatabase.addDatabase('QODBC')
db.setDatabaseName("mysql")
db.setHostName('localhost')
db.setUserName('root')
db.setPassword('root')
if not db.open():  # 判断数据库是否打开
	print(db.lastError().text())  # 打印操作数据库时出现的错误
	return False
else:
	print("连接成功")

运行代码发现连接成功了。是不是很简单,所以条条道路通罗马,技术上遇到问题,可能一种方法长时间解决不了或者解决起来很复杂,可以换一种思路,也许很快就解决了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

攻城狮的梦

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

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

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

打赏作者

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

抵扣说明:

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

余额充值