Delphi XE5 FireDAC 错误:无法加载供应商库 [libmysql.dll 或 libmysqld.dll]

问题描述 投票:0回答:7

我在 Windows 7 64 位上使用 Delphi XE5,只是尝试 FireDAC 组件。 我正在使用一个 TFDConnection 组件连接到本地 MySQL 数据库 (v5.6.15)。

我已经将libmysql.dll(32位v5.6.15)放入我的项目文件夹、EXE文件夹和C:\Windows\System32文件夹(这是PATH位置)中,但是当我尝试从IDE连接时,我遇到了错误:

无法加载供应商库 [libmysql.dll 或 libmysqld.dll]。系统找不到指定的文件。提示:检查它是否在 PATH 或应用程序 EXE 目录中,并且具有 x86 位..

我也尝试将libmysql.dll(64位v5.6.15)放入所有这三个文件夹中,但仍然遇到相同的错误。

我是否错过了一些使其连接的东西? 谢谢您的帮助。

mysql database delphi firedac
7个回答
3
投票

尝试将 TFDPhysMySQLDriverLink.VendorLib 属性设置为完整路径 libmysql.dll 并查看您将收到的消息或应用程序将收到的消息 连接

尝试了基于上面da-soft评论的解决方案,效果很好。 谢谢


3
投票

不要按照其他一些答案的建议将 dll 文件复制到 bin 目录。这可能会干扰复制保护机制,导致您的 IDE 在没有警告的情况下消失,并且可能会破坏许可证。

将 dll 文件复制到 IDE(和/或您的应用程序)可以看到的路径上的另一个位置。


2
投票
  1. 下载地址:https://dev.mysql.com/downloads/connector/c/
  2. libmysql.dll 复制到:C:\Program Files (x86)\Embarcadero\RAD Studio .0 英寸

1
投票

xampp

C:\xampp\mysql\lib\libmysql.dll
C:\xampp\mysql\lib\libmysqld.dll

复制到

C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\bin

1
投票

在 Berlin 10.1 上尝试将 FireDAC 连接到 mysql 时遇到同样的问题

Mysql 在 64 位 Window 10 机器上由 WAMPserver64 管理。所以我的 WAMP mysql bin 文件夹中有 libmysql.dll {64 位}。已下载 mysql-connector-c-6.1.6-win32.zip 来自 https://dev.mysql.com/downloads/connector/c/ 并将 libmysql.dll {32 位} 放入 SysWOW64,按照 NoName 的建议

将以下行添加到 FDDrivers.ini 中

[MySQL]
BaseDriverID=MySQL
VendorLibWin32=c:\Windows\SysWOW64\libmysql.dll
VendorLibWin64=c:\wamp64\bin\mysql\mysql5.7.14\lib\libmysql.dll

1
投票

在西雅图连接本地和远程 64 位版本的 MySQL 时也遇到了上述问题。

将 32 位版本的 libmysql.dll(从与上面的 NoName 相同的来源获得)放在 exe 目录中或设置 VendorLib 属性都不起作用。

但是,由于 Windows 7 机器上抛出异常,提示无法加载 VCRuntime140.dll,我找到了一个副本并将其放在与 libmysql.dll 相同的目录中,这成功了。

我在网上能找到的所有关于 VCRuntime140 的信息都是它由 MS Visual Studio 使用。在我执行搜索的计算机上找到的副本位于 DropBox(这是我复制的)和 OneDrive 的目录中。我找不到在线资源来令人满意地解释它为什么有效或为什么需要它。


0
投票

将数据库文件从旧电脑复制到新电脑时,我遇到了同样的问题。解决方案是从旧电脑上的应用程序使用备份(到 USB 驱动器),然后在新电脑上打开应用程序并选择从 USB 驱动器恢复。

© www.soinside.com 2019 - 2024. All rights reserved.