delphi 10.1 fdconnection libmysql.dll

时间:2018-11-26 22:41:34

标签: mysql delphi firedac

我想从应用程序获取或到达 DLL = C:\ mysql \ bin \ libmysql.dll 行。以下列表是从FireDAC连接器信息中复制的。但是我可以在哪个变量,对象或“类”中找到此信息,并能够在应用程序中显示该路径c:\ mysql \ bin?

================================
Connection definition parameters
================================
DriverID=MySQL
================================
FireDAC info
================================
Tool = RAD Studio 10.1 Berlin
FireDAC = 15.0.1 (Build 86746)
Platform = Windows 32 bit
Defines = FireDAC_NOLOCALE_META;FireDAC_MONITOR
================================
Client info
================================
Loading driver MySQL ...
DLL = C:\mysql\bin\libmysql.dll
Client version = 323520000
================================
Session info
================================
Current catalog = 
Current schema = 
Server info = 3.23.52-nt
Client info = 3.23.52
Characterset name = 
Host info = localhost via TCP/IP
Name modes = CILCT
SSL Cipher = 

2 个答案:

答案 0 :(得分:1)

非常感谢MartynA的评论。那帮助了我。我只是单击了FDConnection组件上的“帮助”按钮,它向我显示了找到答案的网站。有关原始libmySQL.dll存储在名为FDDrivers.ini的ini文件中的位置的信息:

C:\ Users \ Public \ Documents \ Embarcadero \ Studio \ FireDAC \ FDDrivers.ini。

http://docwiki.embarcadero.com/RADStudio/Rio/en/Configuring_Drivers_(FireDAC)

然后在文件中: C:\ Users \ Public \ Documents \ Embarcadero \ Studio \ FireDAC \ FDDrivers.ini。 这些行可能会更改为指向选定的libMySQL.dll 我的电脑中有几个libMySQL.dll文件,似乎很混乱。特别是因为它们是libMySQL的不同版本,并且我需要使用正确的版本,而该版本的日期为2008年8月14日。因此,我选择将dll文件重命名为libMySQL_20020814.dll,以控制通常称为“ libMySQL.dll噩梦”的内容”。

我也将提到的FDDrivers.ini文件中的信息更改为:

[MySQL]
VendorLib=libMySQL_20020814.dll

好的结果是,我的Delphi应用程序现在仅查找我的Delphi application.exe文件所在目录中的libMySQL_20020814.dll文件。而不是被我PC中的所有其他libMySQL.dll文件“拥抱”。它们确实很多,如下面的Microsoft Windows命令行所示:

c:\>dir libMySQL.dll /s /b

还有一件重要的事情要评论: 为了与从FDDrivers.ini文件中选择的正确的dll文件联系,我必须重新启动Delphi IDE应用程序(Embarcadero RAD Studio版本10.1 Berlin)。如果不重新启动Delphi IDE应用程序,就无法更新FDDrivers.ini文件的读取。

答案 1 :(得分:1)

  1. 从网站https://downloads.mysql.com/archives/c-c/下载32bit和64bit文件zip
  2. 将两个文件解压缩到单独的文件夹中。
  3. 在磁盘上的某个位置创建以下文件夹结构,例如“ C:\ MySql_Library \ 32bit \”和“ C:\ MySql_Library \ 64bit \”。
  4. 将解压缩的zip文件中的libmysql.dll文件复制到相应的文件夹(将32位libmysql.dll复制到“ C:\ MySql_Library \ 32bit \”,将64位libmysql.dll复制到“ C:\ MySql_Library \ 64bit \”)。 不要将这些文件复制到其他任何地方!
  5. 现在,在64位应用程序中,将FDPhysMySQLDriverLink组件放在窗体上,并在VendorLib字段中输入32位libmysql.dll文件的路径(例如“ C:\ MySql_Library \ 32bit \ libmysql.dll” )。
  6. 在IDE中测试FDConnection连接。
  7. 在事件的程序代码中,例如在OnCreate上,编写以下代码:“ FDPhysMySQLDriverLink.VendorLib:='C:\ MySql_Library \ 64bit \ libmysql.dll'”,然后按F9。该程序应与MySql数据库一起使用。

重要! 当64位libmysql.dll库的版本为6.1.11或更低时,它可以工作。它在8.0.18和8.0.19版本中不起作用。 (错误:EFDException,显示消息“ [FireDAC] [Phys] [MySQL] -314)