Delphi DBX和MySQL连接的噩梦:DBX错误:驱动程序无法正确初始化

时间:2015-07-15 23:57:49

标签: mysql delphi delphi-xe delphi-2007 dbexpress

好的,过去我让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一起使用的库组合,那么我想节省几天的研究。

提前致谢!

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

我已经多次看到此问题,并花了几天时间在各处移动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)。

现在,您同时拥有x32和x64版本的LibMySQL.dll,请将相应的版本放入Windows / System32和SysWow64文件夹中。您一切顺利-不需要dll的“特殊”版本。