2

无论我尝试了什么,我都无法让 XE2 使用 dbExpress 连接到 MySQL。这个问题其实有很多面。首先,目标 MySQL 是 32 位或 64 位,这会影响 MySQL 安装附带的 libmysql.dll,这似乎具有误导性,因为 XE2 IDE 是一个 32 位应用程序,它只接受 32 位 DLL。所以我需要使用一个32位的安装libmysql.dll,放到Windows\System32下(或者项目本身的文件夹下),然后在我的项目中将Target编译平台设置为32位(这样就不会尝试使用 64 位 dbxmys.dll,以防万一),仍然没有运气。我尝试的所有组合都出现此错误:“DBX 错误:驱动程序无法正确初始化。客户端库可能丢失......”

谁能让 XE2 dbExpress 连接到 MySQL 服务器?我需要你的帮助。提前致谢。

Windows 7 64 位(带 XE2 的开发平台)、MySQL 5.5.16 32 位(安装在远程 XP 32 位上)/MySQL 5.1.54 64 位(安装在远程 XP x64 上)(两者都试过,通过使用他们的 libmysql.dlls)

4

6 回答 6

2

你的问题的答案很简单,安装你的mysql并从你的mysql bin中复制libmysql.dll,如图所示。(C:\ Program Files \ MySQL \ MySQL Server 5.1 \ bin)然后转到xe2目录并打开bin太如 (C:\Program Files\Embarcadero\RAD Studio\9.0\bin) 并将其粘贴到那里运行已经在其中的 libmysql.dll。

于 2011-12-15T17:53:51.217 回答
1

此问题的答案可在WiltonSoftware.com上找到。

我所做的是:

  1. 我下载了一个包含 libmysql.dll 版本 5.1.59 的 zip 文件
  2. 我创建了文件夹 C:\Program Files (x86)\MySQL\MySQL Connector 5.1.59\lib
  3. 我将 DLL 复制到刚刚创建的文件夹中
  4. 我在 Windows Path 环境变量中添加了该文件夹

对我来说效果很好!

于 2012-05-25T00:49:16.327 回答
1

有点晚了,但我希望它有所帮助:

  1. 安装 Delphi XE2 的最新更新
  2. 安装 SQL Server 2008 本机客户端
  3. 卸载所有旧版本,如 SQL Server Express 2005(如果已安装)

我无法确定这行得通的确切原因。可能是使用 sqlncli.dll 而不是 oledb.dll。

于 2012-06-26T12:09:00.677 回答
1

看起来你有 x64 Windows,那么你应该把x32libmysql.dll放到. 或者您可以将 x32放入文件夹中。Windows\System32Windows\SysWOW64libmysql.dllXE2\Bin

如果您将构建 x64 应用程序,那么libmysql.dll您应该将 x64 放入Windows\System32或放入您的 EXE 文件夹中。

于 2011-09-28T05:17:42.623 回答
0

嗯,显然我问的问题是 XE2 中的一个错误,据说可以通过更新 1 http://docwiki.embarcadero.com/RADStudio/en/Release_Notes_for_XE2#Please_Install_XE2_Update_1修复

我会尝试看看它是否真的解决了这个问题。

于 2011-09-28T21:42:30.543 回答
0

唯一适用于 XE2 的版本是 5.1.54 我遇到了同样的问题并被这个解决了

于 2011-10-02T16:57:43.703 回答