PyQt5 MYSQL驱动程序未加载windows

2024-05-23 13:51:48 发布

您现在位置:Python中文网/ 问答频道 /正文

当我试图使用QSqlDatabase.addDatabase()方法连接到本地mysql数据库时,我遇到了这个问题

我知道有几个类似的问题被提出,但是他们没有明确的解决办法,尤其是对于C++来说,他们认为我们可以做不到

的QT文档。

具体来说,我想知道哪些文件缺少(.dll、.so、.lib)?我在哪里买的?我在哪里复制它们?如果Python不为C++ +/P>

这是我在尝试运行python脚本时遇到的错误:

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

我使用的是Windows 10、MySql 8、Python 3.6、PyQt 5.9和PyQt tools 5.9(我使用的是这个版本的PyQt,因为我也使用fbs,fbs手册说它与PyQt5和Python版本配合使用会更好)

这是我在stackoverflow中读到的一条有用的语句,但它适用于C++: """ 请记住,qsqlmysql插件基本上是一个使用mysql-C连接器方法的qt接口。但不幸的是,这个连接器并不随qt一起分发,所以您应该自己提供。 “”“

正如我之前所说的,重要的是要知道哪些文件缺少(.dll、.So、.lib)?我在哪里买的?我在哪里复制它们

如果您需要我的脚本,请告诉我,但这是一个非常简单的脚本:

  1. 我尝试使用QSqlDatabase.addDatabase('QMYSQL')进行连接
  2. 实例化使用该数据库连接的QSqlTableModel并设置该数据库的单个表
  3. 在QTableView中显示此单个表

Tags: 文件方法文档版本脚本数据库libmysql
1条回答
网友
1楼 · 发布于 2024-05-23 13:51:48

尝试将“QMYSQL3”用作:

db= QSqlDatabase.addDatabase("QMYSQL3")
db.setHostName('host_name')
db.setUserName('user_name')
db.setDatabaseName('database')
db.setPassword('password')
ok = db.open()
if ok:
    print('Success')
else:
    print(db.lastError().text())

如果您的问题没有得到解决,您可以检查libmysql.dll文件是否不在python可执行文件文件夹中,如果是,请将该文件从python 3.x/lib/site-packages复制到python 3.xx可执行文件文件夹中。这对我有用

相关问题 更多 >