【问题标题】:[FireDac][Phys][MySQL]-1101. Unsupported MySQL version [0]. Supported are client and server from v 3.20 to v6.2[FireDac][物理][MySQL]-1101。不受支持的 MySQL 版本 [0]。支持从 v 3.20 到 v6.2 的客户端和服务器
【发布时间】:2014-08-13 12:10:44
【问题描述】:

有谁知道如何在 RAD Studio XE6 Delphi 上解决这个错误

如果您使用 Embarcadero 提供的示例应用 FireDAC\Samples\Comp Layer\TFDConnection\DLL_Sharing 并将 FDConnection 更改为使用 MySQL 服务器,您会收到此错误。 [FireDac][物理][MySQL]-1101。不受支持的 MySQL 版本 [0]。支持从 v 3.20 到 v6.2 的客户端和服务器。

exe 中的连接可以使用 MySQL 服务器,但 DLL 中的共享不起作用。 即使遵循 FireDAC DLL_Sharing 中的步骤..

【问题讨论】:

  • 您是否按照this paragraph中描述的方式进行操作?有一条注释说“理想情况下,(用于连接到 MySQL 服务器的客户端库的版本)应该等于服务器版本。”。你符合这个建议吗?
  • “本段”中提到的错误代码不一样我得到的是-1101而不是-314
  • 我知道,我的意思是,如果您尝试使用与您要连接的服务器版本匹配的客户端库。
  • 好的,所以。是的,我什至添加了一个 TFDPhysMySQLLink 并使用了 mysql 服务器 bin 文件夹中的 libmysql.dll。
  • 即使使用 MySQLDriverLink 也不能解决这个问题。

标签: mysql delphi firedac


【解决方案1】:

将文件 FireDAC.Phys.MySQLWrapper.pas(从 source\data\firedac 目录)复制到您的项目目录,编辑该文件,然后查找以下三行:

如果 (FVersion = mvMySQL060200) 那么 FDException(OwningObj, [S_FD_LPhys, S_FD_MySQLId], er_FD_MySQLBadVersion, [F版本]);

删除它们(或将它们放在 cmets 中),然后重新构建您的项目。确保它使用您项目目录中的 FireDAC.Phys.MySQLWrapper(您可能必须关闭并重新打开该项目以确保它使用您的本地单元)。

这样,您仍然无法在设计时进行连接,但至少它可以在运行时工作。

格罗耶斯,鲍勃·斯沃特

【讨论】:

    【解决方案2】:

    使用“原始”的 mysql libmysql.dll 并且它的工作正常;) mariadb 的 libmysql.dll 导致此错误

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-28
      • 1970-01-01
      • 2020-09-19
      • 2020-05-19
      • 2018-10-10
      • 1970-01-01
      • 2022-01-22
      相关资源
      最近更新 更多