【问题标题】:How to connect Visual Studio to Aurora MySQL DB?如何将 Visual Studio 连接到 Aurora MySQL 数据库?
【发布时间】:2023-03-26 02:00:01
【问题描述】:

在 Visual Studio 2019 菜单中:工具 -> 连接到数据库我看到“MySQL 数据库”数据提供程序,但尝试连接到我的极光数据库时出现奇怪的错误:

“Microsoft Visual Studio / 无法连接到任何指定的 MySQL 主机。序列包含多个匹配元素

我有基于 MySQL 5.6.10 的 Aurora 数据库。我可以使用最新的 MySQL Workbench 8.0.18 连接到它。我有最新的“Visual Studio 1.2.9 的 MySQL”和 Connector/NET 8.0.18。我使用 .NET Framework 4.7.2。我还可以从 Visual Studio 连接到其他(普通)MySQL 实例,但不能连接到 Aurora DB。

我的最终目标是从亚马逊数据库创建 ADO.NET 实体数据模型,但这在相同的错误消息上失败。

是否有任何指南如何将 MySQL Aurora DB 与 .NET Framework(不是 .NET Core)连接起来?可以从任何表中下载单个值的极其简单的应用程序指南对我来说意味着向前迈出了重要的一步。

【问题讨论】:

    标签: mysql visual-studio entity-framework amazon-aurora


    【解决方案1】:

    好的。我发现它是在 MySql.Data 8.0.18 中引入的Bug #97448。解决方法是通过 IP 地址而不是 xxx.rds.amazonaws.com 地址定义服务器名称。

    【讨论】:

      【解决方案2】:

      这是know bug

      仅供参考,之前版本的mysql.data (v6.10.9) 也会受到影响。

      作为一种解决方法,您可以手动将 DNS 值解析为 IP 地址。

      在下面的代码示例中,我检查服务器值是否为 IP,然后在该值不是 IP 地址时解析 DNS 名称。

      if (IPAddress.TryParse(server, out var ipAddress))
      {
          // The server value is an IP address, it can be used directly
      }
      else
      {
          server = Dns.GetHostEntry(server).AddressList.FirstOrDefault()?.MapToIPv4().ToString();
      }
      
      return new MySqlConnectionStringBuilder
             {
                 Server = server
                 // ...
             };
      

      【讨论】:

        猜你喜欢
        • 2021-04-06
        • 1970-01-01
        • 2016-12-13
        • 2021-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-24
        • 1970-01-01
        相关资源
        最近更新 更多