繁体   English   中英

qt 5.8 sql 连接错误:QMYSQL 驱动程序未在 Windows 10 上加载

[英]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 所在的同一文件夹中。

如果有人像我一样愚蠢,那对你来说:基本上你应该做的是

  1. https://downloads.mysql.com/archives/cc/并专门下载C !!!!!! mysql连接器;
  2. 将“libmysql.dll”和“libmysql.lib”(“mysql-connector-c-6.1.11-winx64.zip\\mysql-connector-c-6.1.11-winx64\\lib”)放入“c:\\path_to_qt\\ qt_version\\your_compiler\\bin\\" 对我来说它看起来像 "c:\\Qt\\5.12.1\\mingw73_64\\bin\\";
  3. 重新加载创建者,瞧您的 mysql 驱动程序已完美加载;

所以基本上对于那些想了解这里发生了什么的人来说:

“qsqlmysql”插件基本上是一个使用 mysql-C 连接器方法的 qt 接口。 但不幸的是,这个连接器没有随 Qt 一起分发,所以你应该自己提供它。

如果您想分发您的软件,您应该将“libmysql.dll”复制到您的“.exe”文件所在的文件夹中。

我希望这会帮助某人节省一些时间(对我来说是 3 小时 :))。

  1. 您必须重建 mysql 驱动程序。
  2. 遵循本指南

    注意:你需要三样东西:

    一种。 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.alibqsqlmysqld.a文件对应的qsqlmysql.dllqsqlmysqld.dll文件,并将它们(.a文件)复制到“\\mingw73_xx\\lib”文件夹中。 (xx 表示 64 或 32)

请注意,对于项目工具包 64 位使用MySql 64 位,对于项目工具包 32 位使用MySql 32 位

详细信息可在QT 获得:QSqlDatabase:QMYSQL 驱动程序未加载 [WINDOWS]

我有同样的问题。 我可以按照 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM