Delphi DBX and MySQL connection nightmare : DBX Error: Driver could not be properly initialized

Delphi DBX and MySQL connection nightmare : DBX Error: Driver could not be properly initialized

好的,过去让 DBX 与 MySQL 一起工作让我非常头疼。在这样的情节中,我试图让它与 Delphi 2007 一起工作,我花了几天时间寻找合适的 libmysql.dll 和 dbxmys.dll 组合,尝试了几十次,直到我找到一对有效的组合。

现在我在 Delphi XE 中遇到了同样的问题。用于 D2007 的相同库不适用于 XE,返回众所周知的臭名昭著的错误:

DBX Error: Driver could not be properly initialized. Client library may be missing, not installed properly, of the wrong version, or the driver maybe be missing from the system path...

这两个库都在应用程序路径中,并且都在使用 D2007 编译的应用程序中工作,但不适用于在 XE 中编译的同一个应用程序。

所以如果有人已经遇到这个问题并且找到了与 Delphi XE 一起工作的库组合,我想节省一些研究时间。

提前致谢!

我刚刚在这里找到了解决方案:

http://wiltonsoftware.com/posts/view/getting-embarcadero-dbexpress-mysql-working-dbx-error-driver-not-initialized

我已经多次看到这个问题,并花了几天时间 LibMySQL.dll 到处寻找有效的配置。事情是这样的——如果你安装了 MySQL 服务器 x32,你不会有太多麻烦。只需按照随处张贴的说明进行操作即可。

但是,如果您安装了 MySQL Server x64(或 Oracle,SQL Server...)- 您将会遇到各种麻烦。 Delphi(任何版本)的 IDE 是 x32。无论您做什么,x64 LibMySQL.dll 都不会在 IDE 中工作,只有您构建的 x64 项目会在运行时连接。解决方案很简单 - 下载 MySQL 的 x32 版本并获取 x32 的 LibMySQL.dll。将 x32 版本放在 Delphi/Bin 目录中 - 现在您的连接将在 IDE 中工作(无论您是创建 x32 还是 x64 应用程序 - IDE 始终是 x32)。

既然您拥有 LibMySQL.dll 的 x32 和 x64 版本,请将适当的版本放入 Windows/System32 和 SysWow64 文件夹中。一切顺利 - 不需要 "special" 版本的 dll。