首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Delphi11.1的FireDAC和MySQL: SSL连接错误:未知错误号

Delphi11.1的FireDAC和MySQL: SSL连接错误:未知错误号
EN

Stack Overflow用户
提问于 2022-04-24 23:05:45
回答 3查看 1.1K关注 0票数 0

好吧,我花了一整天时间在这上面,我被困住了,所以我要去寻求帮助。

我以前在虚拟机中安装了Delphi11Enterprise,还安装了MySQL 8.0.27 (64位)。在获得了一些32位的MySQL dll之后,我能够使用FireDAC MySQL驱动程序和Delphi中的database轻松地连接到我的数据库。

我现在已经创建了一个新的VM,并安装了Delphi11.1Enterprise和MySQL 8.0.28。导出前一个VM中的数据库并将其导入到这个新的MySQL服务器后,我尝试使用FireDAC附加到数据库。使用与上一个VM相同的参数和复制到C:\Windows\SysWOW64 64的相同的dll,测试连接失败并产生以下错误:

FireDACMySQL SSL连接错误:未知错误号

我比较了两个VM之间连接到两个数据库的参数,它们是相同的。而且,MySQL中到这两个数据库的连接似乎也是相同的。

奇怪的是(我想我知道为什么),在连接失败的VM中,如果我查看FireDAC连接编辑器的Info选项卡,它说它在c:\Windows\System32 32文件夹中使用libmysql.dll (该文件夹中没有这样的文件)。但是FireDAC成功连接的VM中的Connection也是如此,所以我假设System32被映射到C:\Windows\SysWOW64 64。

如果有人能够确认他们正在成功地连接到MySQL 8.使用Delphi11.1和FireDAC,并能为我需要修复的内容提供建议,我将非常感激。

== ======。

更新:我已经卸载了MySQL 8.0.28,并使用开发计算机模板重新安装了它。我仍然无法使用MySQL连接编辑器连接到FireDAC,但只要我使用FDPhysMySQLDriverLink组件,并将VendorLib属性设置为libmariadb.dll或libmysql.dll (存储在C:\Windows\SysWOW64 64文件夹中的32位版本),就可以在运行时进行连接(感谢Ian提供的示例代码!)。我还在做这方面的工作,因为我真的很想从IDE连接,但至少我已经取得了一些成功。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-06-13 13:54:21

今天我也遇到了同样的问题,因为mysql没有运行,所以我更新了它,然后点击了上面的错误。

我的64位Delphi10.3程序根本无法连接,所以我将物理驱动程序更改为libmariadb.dll,这解决了这个问题。

票数 0
EN

Stack Overflow用户

发布于 2022-04-25 17:19:32

通过调用libmysql.dll加载器( h:= loadlibray('libmysql.dll') /without path/,然后调用GetModulePath(h)来查看其完整路径,确保应用程序从何处加载/without。

请记住,Delphi是32位的,它需要使用32位版本的lobmysql.dll,而64位编译的程序需要同样的比特性。

票数 0
EN

Stack Overflow用户

发布于 2022-05-26 21:43:37

这太疯狂了。我安装和卸载了MySQL (以及MySQL工作台和MySQL脚本)大概10次。上一次安装成功了。我不知道为什么这是必要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71993040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档