【问题标题】:MySql.Data.MySqlClient.MySqlException Version string not in acceptable format error while connecting to -log enabled instanceMySql.Data.MySqlClient.MySqlException 版本字符串格式错误,同时连接到 -log 启用实例
【发布时间】:2021-09-03 14:06:46
【问题描述】:

当我连接到 MySQL 实例时,我收到以下错误

MySql.Data.MySqlClient.MySqlException
  HResult=0x80004005
  Message=Version string not in acceptable format
  Source=MySql.Data
  StackTrace:
   at MySql.Data.Common.DBVersion.Parse(String versionString)
   at MySql.Data.MySqlClient.NativeDriver.Open()
   at MySql.Data.MySqlClient.Driver.Open()
   at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
   at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
   at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
   at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
   at MySql.Data.MySqlClient.MySqlPool.GetConnection()
   at MySql.Data.MySqlClient.MySqlConnection.Open()
   at <Program>$.<<Main>$>d__0.MoveNext() in C:\Users\ADMIN\source\repos\TestInfogram\TestInfogram\Program.cs:line 11

  This exception was originally thrown at this call stack:
    [External Code]
    <Program>$.<Main>$(string[]) in Program.cs

我的连接字符串如下

var mscon = new MySqlConnection("server=myserverip;uid=myusername;pwd=mypassword;database=mydatabase;charset=utf8;");

我可以从工作台连接到这个实例,并且用户拥有所有权限。当我运行 SELECT VERSION(); 时,它会返回

'5.7.33-日志'

MySql 服务器正在另一台机器上运行,我对该机器只有 SQL 访问权限

【问题讨论】:

  • 什么版本的MySql.Data?您可以尝试 nuget.org/packages/MySqlConnector 作为替代库,看看它是否没有这个问题。
  • MySql.Data 版本是 8.0.26 。是的,我能够使用 MySqlConnector 成功连接。谢谢
  • 我将添加它作为答案;不幸的是,我没有更好的建议来让 MySql.Data 正常工作。

标签: c# mysql


【解决方案1】:

这听起来像是 MySql.Data 中的一个错误,尽管我之前没有看到报告过。您可以将它报告给 Oracle 的错误跟踪器,并希望在即将发布的版本中得到修复:https://bugs.mysql.com

与此同时,作为一种解决方法,您可以尝试切换到替代 ADO.NET 库 MySqlConnector,因为这应该允许您连接到此服务器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-13
    • 1970-01-01
    • 2020-08-07
    • 2015-06-09
    相关资源
    最近更新 更多