如何将ASP.NET Web Api项目与托管的mySQL数据库连接?

时间:2018-10-23 21:24:26

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

我正在使用使用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”,并且我遇到了相同的异常。

请帮助并感谢所有

1 个答案:

答案 0 :(得分:0)

我的第一个猜测是,您收到的错误指示找不到主机名( DNS 问题)。 因此,如果问题出在连接字符串中的服务器名称附近,则可以尝试以下两种方法之一:

  1. 指向本地主机或服务器,您可以从计算机上解决该已知问题。
  2. 使用IP地址代替服务器名称

由于使用的是MAC,因此可以使用“ 网络实用工具”,通过 ping 输入服务器名称来丢弃是否是DNS问题,这很可能会如果无法解析名称,则会给您同样的错误。如果要使用此IP地址进行连接,还将为您提供IP地址。