当前位置: 首页 > 编程笔记 >

PyQt5连接MySQL及QMYSQL driver not loaded错误解决

曹疏珂
2023-03-14
本文向大家介绍PyQt5连接MySQL及QMYSQL driver not loaded错误解决,包括了PyQt5连接MySQL及QMYSQL driver not loaded错误解决的使用技巧和注意事项,需要的朋友参考一下

一、连接语句

from PyQt5.QtSql import QSqlDatabase

db=QSqlDatabase.addDatabase('QMYSQL')
db.setHostName('localhost')
db.setDatabaseName('dbwork')
db.setUserName('users')
db.setPassword('ZDSYS')
db.setPort(3306)
db.open()

二、错误解决

1、提示1:QMYSQL driver not loaded

a、问题分析
python的PyQt5中需要对应版本位数(32/64)的libmysql.dll(MySQL中)。
即:python 32对MySQL 32,python 64对MySQL 64。

b、解决方案
例:
将文件
C:\Program Files\mysql-5.7.26-win32\lib\libmysql.dll
放入文件夹
C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Lib\site-packages\PyQt5\Qt\bin

如安装的MySQL版本位数与python不一致无对应libmysql.dll文件,请下载:
32位:https://cdn.mysql.com/archives/mysql-connector-c/mysql-connector-c-6.1.11-win32.msi
64位:https://cdn.mysql.com/archives/mysql-connector-c/mysql-connector-c-6.1.11-winx64.msi

对应的libmysql.dll目录。
32位:C:\Program Files\MySQL\MySQL Connector C 6.1\lib\libmysql.dll
64位:C:\Program Files(×84)\MySQL\MySQL Connector C 6.1\lib\libmysql.dll
注:只能安装一个。

2、提示2:available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

问题分析
注意该提示中有无QMYSQL,如果有,按提示1解决,如果没有则是因为PyQt5缺少组件qsqlmysql.dll。

解决方案
卸载现有PyQt5安装固定版本。

pip uninstall PyQt5
pip install PyQt5==5.12.1 #python终端中
pip install --user PyQt5==5.12.1 #anaconda终端中

3、PyQt5文件位置

python3.7:
C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Lib\site-packages\PyQt5\Qt\plugins\sqldrivers\qsqlmysql.dll
anaconda:
C:\Users\Administrator\AppData\Roaming\Python\Python37\site-packages\PyQt5\Qt\plugins\sqldrivers

到此这篇关于PyQt5连接MySQL及QMYSQL driver not loaded错误解决的文章就介绍到这了,更多相关PyQt5连接MySQL内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库! 

 类似资料:
  • 我从W3Schools复制了它,当我尝试运行它时,它会给我一个错误。我是MySQL的新手,所以我正在尝试解决这个问题,但我不知道如何解决。 错误: 警告:mysqli::mysqli():(HY000/1045):用户'用户名'@'localhost'(使用密码:是)在第10行的C:\xampp\htdocs\Informatic a\test.php访问被拒绝连接失败:用户'用户名'访问被拒绝'

  • 问题内容: 我将MySQL 5.0用于GoDaddy(linux)托管的网站。 我在Web应用程序上进行了一些测试,突然我发现页面刷新非常缓慢。最终,经过漫长的等待,我到达了一个页面,上面写着“ MySQL错误,连接过多…”,它指向我的连接数据库的config.php文件。 只是我连接到数据库,没有其他用户。在每个页面上,我都在顶部包含config.php文件,并在页面末尾关闭mysql连接。中间

  • 在使用mysql连接Eclipse时出现此错误,任何人都可以提供帮助。 不建议在没有服务器身份验证的情况下建立SSL连接。 根据MySQL 5.5.45、5.6.26和5.7.6的要求,如果未设置explicit选项,默认情况下必须建立SSL连接。为了符合不使用SSL的现有应用程序,verifyServerCertificate属性设置为“false”。您需要通过设置显式禁用SSL,或者设置并为服

  • 问题内容: 我正在尝试在Heroku上以RDS实例作为数据库后端部署Django应用。一切正常,直到我尝试加密连接,然后出现此错误: 设置如下: 标准Django应用程序 具有安全组的MySQL RDS实例允许来自所有IP地址的连接 MySQL用户设置为允许来自任何主机的连接 亚马逊的pem已下载并在Django设置中指定 在Heroku上: 在Django设置中: 我已经尝试搜索,并且已经阅读了

  • 我尝试通过应用服务器Glassfish和JPA连接到mysql数据库。 我的persistence.xml如下所示: 有什么问题?

  • 我们所面临的问题已在许多文件中得到充分证明https://stackoverflow.com/questions/34189756/warning-about-ssl-connection-when-connecting-to-mysql-database. 从过渡到时,我们就开始面临这个问题。建议的修复方法对我们有效,但我们有一个问题,我们不想更新Java源文件以进行更改,例如从 到 正如在ht