我在Windows 7 64bit上使用Delphi XE5,只是尝试使用FireDAC组件。 我正在使用一个TFDConnection组件连接到本地MySQL数据库(v5.6.15)。
我已经将libmysql.dll(32位v5.6.15)放入我的Project文件夹,EXE文件夹和C:\ Windows \ System32文件夹(这是PATH位置),但是当我尝试从IDE连接时,我遇到错误:
无法加载供应商库[libmysql.dll或libmysqld.dll]。系统无法找到spcified文件。提示:检查它是在PATH或应用程序EXE目录中,并具有x86位数..
我还尝试将libmysql.dll(64位v5.6.15)放到所有这三个文件夹中,但仍然遇到同样的错误。
我是否想念一些东西让它连接起来? 谢谢你的帮助。
答案 0 :(得分:3)
尝试将TFDPhysMySQLDriverLink.VendorLib属性设置为完整路径 的libmysql.dll,看看你会得到什么消息或应用程序将 连接
根据上面的da-soft评论尝试了解决方案,并且效果很好。 感谢
答案 1 :(得分:3)
不要像其他人的回答所建议的那样将dll文件复制到bin目录。这可能会干扰复制保护机制并导致IDE在没有警告的情况下消失,并且可能会破坏许可证。
将dll文件复制到IDE(和/或您的应用)可以看到的路径上的其他位置。
答案 2 :(得分:2)
答案 3 :(得分:1)
<强> XAMPP 强>
C:\xampp\mysql\lib\libmysql.dll
C:\xampp\mysql\lib\libmysqld.dll
复制
C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\bin
答案 4 :(得分:0)
尝试将FireDAC连接到柏林10.1上的mysql时遇到同样的问题
由WAMPserver64在64位Window 10机器上管理的Mysql。所以我在我的WAMP mysql bin文件夹中有libmysql.dll {64-bit}。下载 来自https://dev.mysql.com/downloads/connector/c/的mysql-connector-c-6.1.6-win32.zip,并按照NoName的建议将libmysql.dll {32-bit}放入SysWOW64中
将以下行添加到FDDrivers.ini
中[MySQL]
BaseDriverID=MySQL
VendorLibWin32=c:\Windows\SysWOW64\libmysql.dll
VendorLibWin64=c:\wamp64\bin\mysql\mysql5.7.14\lib\libmysql.dll
答案 5 :(得分:0)
还遇到了上面描述的西雅图问题,连接到本地和远程64位版本的MySQL。
不要将32位版本的libmysql.dll(从上面的NoName获取)放在exe目录中,也不要将VendorLib属性设置为有效。
但是,由于Windows 7计算机上出现异常,建议无法加载VCRuntime140.dll,我找到了一个副本并将其放在与libmysql.dll相同的目录中,这很有效。
我可以在网上找到关于VCRuntime140的所有内容,它是由MS Visual Studio使用的。在我执行搜索的机器上找到的副本,已经在属于DropBox(这是我复制的)和OneDrive的目录中。我找不到一个能够令人满意地解释其工作原因或为什么需要它的在线资源。