【发布时间】:2022-06-13 21:54:21
【问题描述】:
好的,我在这上面花了一整天,我被困住了,所以我要寻求帮助。
我之前在虚拟机中安装了 Delphi 11 Enterprise,还安装了 MySQL 8.0.27(64 位)。在获得一些 32 位 MySQL dll 后,我能够使用 FireDAC MySQL 驱动程序和 Delphi IDE 中的数据资源管理器轻松连接到我的数据库。
我现在已经创建了一个新的 VM 并安装了 Delphi 11.1 Enterprise 和 MySQL 8.0.28。从以前的 VM 导出我的数据库并将其导入到这个新的 MySQL 服务器后,我尝试使用 FireDAC 附加到数据库。使用与上一个 VM 中相同的参数,并将相同的 dll 复制到 C:\Windows\SysWOW64,测试连接失败并产生以下错误:
[FireDAC][Phys][MySQL] SSL 连接错误:未知错误号
我对比了两台虚拟机连接两个数据库的参数,都是一样的。而且,MySQL 中与这两个数据库的连接似乎也是一样的。
奇怪的一件事(我想我知道为什么)是在连接失败的 VM 中,如果我查看 FireDAC 连接编辑器的 Info 选项卡,它会说它在 c 中使用 libmysql.dll: \Windows\System32 文件夹(该文件夹中没有这样的文件)。但从 FireDAC 成功连接的 VM 中的连接编辑器来看也是如此,所以我假设 System32 被映射到 C:\Windows\SysWOW64。
如果有人可以确认他们使用 Delphi 11.1 和 FireDAC 成功连接到 MySQL 8...,并且可以就我需要修复的问题提出建议,我将不胜感激。
========================
更新:我已卸载 MySQL 8.0.28,并使用开发计算机模板重新安装它。我仍然无法使用 FireDAC 连接编辑器连接到 MySQL,但只要我使用 FDPhysMySQLDriverLink 组件并将 VendorLib 属性设置为 libmariadb.dll 或 libmysql.dll(存储的 32 位版本),我就可以在运行时连接在 C:\Windows\SysWOW64 文件夹中(感谢 Ian Barker 提供的示例代码!)。我仍在努力,因为我真的很想从 IDE 连接,但至少我已经取得了一些成功。
【问题讨论】:
标签: mysql firedac delphi-11-alexandria