delphi 10.1 fdconnection libmysql.dll

pbwdgjma  于 2021-06-17  发布在  Mysql
关注(0)|答案(2)|浏览(404)

我想从应用程序中获取或访问行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 =
gudnpqoy

gudnpqoy1#

非常感谢马蒂娜的评论。这对我很有帮助。我只是点击了fdconnection组件上的“帮助”按钮,它显示了我找到答案的网站。有关acutal 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_.dll,以控制通常所说的“libmysql.dll噩梦”。
我还将上述fddrivers.ini文件中的信息更改为:

[MySQL]
VendorLib=libMySQL_20020814.dll

好的结果是,我的delphi应用程序现在只会在我的delphi application.exe文件所在的目录中查找libmysql\u 20020814.dll文件。不要被我电脑中的所有其他libmysql.dll文件所困扰。它们确实很多,正如microsoft windows命令行所示:

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

还有一件重要的事情需要说明:为了与从fddrivers.ini文件中选择的正确dll文件取得联系,我必须重新启动delphi ide应用程序(embarcadero rad studio版本10.1)。在没有重新启动delphi ide应用程序的情况下,我无法更新fddrivers.ini文件的读取。

aydmsdu9

aydmsdu92#

从网站下载32位和64位zip文件https://downloads.mysql.com/archives/c-c/
将两个文件解压到不同的文件夹中。
在磁盘上的某处创建以下文件夹结构,例如“c:\mysql\u library\32bit\”和“c:\mysql\u library\64bit\”。
将libmysql.dll文件从解压的zip文件复制到相应的文件夹(32位libmysql.dll到“c:\mysql\u library\32位\”,64位libmysql.dll到“c:\mysql\u library\64位\”)。不要把这些文件复制到其他地方!
现在,在64位应用程序中,将fdphysmysqldriverlink组件放到窗体上,并在vendorlib字段中输入32位libmysql.dll文件的路径(例如“c:\mysql\u library\32bit\libmysql.dll”)。
在ide中测试fdconnection。
在事件的程序代码中,例如oncreate,编写以下代码:“fdphysmysqldriverlink.vendorlib:='c:\mysql\u library\64bit\libmysql.dll'”并按f9。这个程序应该和mysql数据库一起工作。
重要!当64位libmysql.dll库的版本为6.1.11或更低版本时,它可以工作。它在版本8.0.18和8.0.19中不起作用(错误:显示消息“[firedac][phys][mysql]-314”的efdexception

相关问题