[英]qt 5.8 sql connection error:QMYSQL driver not loaded on windows 10
当我尝试连接到 mysql 时,出现错误:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
"Driver not loaded Driver not loaded"
所以我用谷歌搜索,我试过:
1.将sqldrivers文件夹复制到C:\\Qt\\Qt5.8.0\\5.8\\mingw53_32\\plugins
2.将libmysql.dll复制到C:\\Qt\\Qt5.8.0\\5.8\\mingw53_32\\bin
但错误仍然存在。
有什么我想念的吗?
libmysql.dll
有 64 位和 32 位版本。 重建 Qt 驱动程序不是必须的。
使用Qt5.9.1的预构建版本,您仍然需要使用32位版本,即使安装了64位版本的MySQL也可以使用。 无需任何 QT 插件或组件的重建。 在此处下载 32 位 MySQL 连接器
这已经在这里回答了: medasumanth answer
这个错误通常意味着 Qt MySQL 插件很好(因为它列在可用的驱动程序中),但是你缺少 MySQL dll(因此阻止了驱动程序加载)。
修复它的方法是将libmysql.dll
放在 PATH 中的某个位置,例如将 MySQL 安装文件夹添加到 PATH,或者将libmysql.dll
复制到您的 exe 所在的同一文件夹中。
如果有人像我一样愚蠢,那对你来说:基本上你应该做的是
所以基本上对于那些想了解这里发生了什么的人来说:
“qsqlmysql”插件基本上是一个使用 mysql-C 连接器方法的 qt 接口。 但不幸的是,这个连接器没有随 Qt 一起分发,所以你应该自己提供它。
如果您想分发您的软件,您应该将“libmysql.dll”复制到您的“.exe”文件所在的文件夹中。
我希望这会帮助某人节省一些时间(对我来说是 3 小时 :))。
遵循本指南
注意:你需要三样东西:
一种。 qt-opensource-xxx-mingw492-xxx.exe 用于 Qt Creator 和 Qt 命令提示符。
b.qt-everywhere-opensource-src-xxx.zip 用于 Qt 源代码,mysql.pro 文件需要。 lib和include文件夹需要c.mysql-connector-c-6.1.10-win32.zip。
现在回答为时已晚,但这可能对未来的读者有用。
当QMYSQL
可用但未加载时,您应该找到与libqsqlmysql.a
和libqsqlmysqld.a
文件对应的qsqlmysql.dll
和qsqlmysqld.dll
文件,并将它们(.a文件)复制到“\\mingw73_xx\\lib”文件夹中。 (xx 表示 64 或 32)
请注意,对于项目工具包 64 位使用MySql 64 位,对于项目工具包 32 位使用MySql 32 位。
我有同样的问题。 我可以按照 Benjamin T 的建议解决它。 - Windows 10 - python 3.7 - PyQt5 - 我将 libmysql.dll 文件从 python 3.7/lib/site-packages 文件夹复制到 Python 3.7 可执行文件夹,一切开始正常工作!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.