【问题标题】:c# Unable to connect to any of the specified MySQL hostsc#无法连接到任何指定的MySQL主机
【发布时间】:2017-02-26 02:51:38
【问题描述】:

我正在尝试连接远程主机 htttp://www.tasiheel.com 上的 MySQL 数据库。

这是我的代码

try
    {
     string addClientQuery = "insert into clients values(null,@name,@sender,@user,@pass,@date)";
     MySqlConnection conn = new MySqlConnection("Server=http://tasiheel.com;Database=xxxxxx;Uid=xxxx;Pwd=xxxxx;");

     MySqlCommand addClientCmd = new MySqlCommand(addClientQuery, conn);
     addClientCmd.Parameters.AddWithValue("name", clinetNameTXT.Text);
     addClientCmd.Parameters.AddWithValue("sender", senderNameTXT.Text);

     addClientCmd.Parameters.AddWithValue("user", userNameTXT.Text);
     addClientCmd.Parameters.AddWithValue("pass", userPassTXT.Text);
     addClientCmd.Parameters.AddWithValue("date", DateTime.Now);
     conn.Open();
     addClientCmd.ExecuteNonQuery();
     RadMessageBox.Show("تم اضافة البيانات بنجاح");
     }
 catch (MySqlException ex)
     {
     MessageBox.Show(ex.Message);
     }

但在尝试打开连接时出现以下错误

无法连接到任何指定的 MySQL 主机

我可以访问服务器上的数据库表单php页面,但我不能从c# winform

我已通过将% 添加到数据库权限来启用远程数据库访问。

对此有什么帮助吗?

谢谢

【问题讨论】:

    标签: c# mysql winforms


    【解决方案1】:

    尝试在另一个答案中描述的连接字符串中输入远程服务器的 IP。

    确保您的 MySQL(安装位置)允许远程连接。如果数据库和代码在同一台服务器上,你最好使用 localhost 作为服务器(这也将节省到自己服务器的往返行程)

    【讨论】:

      【解决方案2】:

      尝试更改您的连接字符串:

      发件人:

      Server=http://tasiheel.com;Database=xxxxxx;Uid=xxxx;Pwd=xxxxx;
      

      Server=http://tasiheel.com;Port=3306;Database=xxxxxx;User ID=xxxx;Password=xxxxx;
      

      【讨论】:

      • 检查您的防火墙设置 您可能需要为端口 3306 添加例外。我还向连接字符串添加了端口参数。见答案。
      • 我禁用了防火墙并添加了端口,但仍然出现相同的错误
      • 是的,我从 c# ping ip,它响应 ping 我尝试用它代替域名,但没有任何改变同样的问题
      猜你喜欢
      • 2013-08-02
      • 1970-01-01
      • 1970-01-01
      • 2012-06-20
      • 2018-12-25
      • 2011-06-07
      • 1970-01-01
      相关资源
      最近更新 更多