【问题标题】:How to connect ASP.NET Web Api project with hosted mySQL database?如何将 ASP.NET Web Api 项目与托管的 mySQL 数据库连接?
【发布时间】:2019-03-28 05:20:42
【问题描述】:

我正在使用一个使用 Visual Studio for Mac 连接到 mysql 数据库的 api Web 应用程序,我的问题是当我尝试连接服务器中托管的 mysql db 时出现以下异常“无法连接到任何指定的 MySQL 主机。”但是,当您使用 XAMPP 连接到本地 db mysql 时,连接正常且成功。

这是我的代码。

在 Program.cs 中

  public static MySqlConnection Conn(){

         var connection_string = "Data Source=MYSQL5015.site4now.net;Initial Catalog=db_a42078_holzqp;User ID=xxxxxx;Password=xxxxxxx";

        var conn = new MySqlConnection(connection_string);

        return conn;
    }

在 ValuesController.cs 中

public string Get(int id){ 
        conn = Program.Conn();
        try
        {
            conn.Open();
        }
        catch (MySqlException ex)
        {
            return "Failure: " + ex.Message.ToString();
        }
        if(conn.State == System.Data.ConnectionState.Open){
            return "opened";
        }else{
            return "closed";
        }}

注意:我也尝试了标准的 mysql 连接字符串,例如“SERVER:XXX;DATABASE=XXX;UID=XXXX;PWD=XXXX”,我得到了同样的异常。

请大家帮忙,谢谢

【问题讨论】:

  • 我立即收到Access denied for user 'xxxxxx'@'8.8.8.8' (using password: YES),这表明您的服务器可以通过 Internet 访问,并且没有防火墙阻止它。请使用调用堆栈粘贴完整的异常消息。 idownvotedbecau.se/noexceptiondetails

标签: c# mysql asp.net-web-api web-hosting azure-web-app-service


【解决方案1】:

我的第一个猜测是,您收到的错误表明它找不到主机名(DNS 问题)。 因此,如果问题与连接字符串中的服务器名称有关,您可以尝试以下两种方法中的一种:

  1. 指向本地主机或服务器,您知道可以从您的计算机解析。
  2. 使用 IP 地址代替服务器名称

您可以使用您的“网络实用程序”,因为您使用的是 MAC,如果这是一个 DNS 问题,则可以通过 ping服务器名称来丢弃它,它可能会如果无法解析名称,则会给您同样的错误。如果您想使用它进行连接,这也会为您提供 IP 地址。

【讨论】:

    猜你喜欢
    • 2017-01-10
    • 2017-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-05
    相关资源
    最近更新 更多