mysql c#无法连接到主机(0x800004005)

时间:2014-06-05 10:34:18

标签: c# mysql api

我遇到了问题。我无法连接到mysql数据库。这是我的错误消息:

  

MySql.Data.MySqlClient.MySqlException(0x80004005):无法连接   到任何指定的MySQL主机。

我认为这是在这方面的错误。我可以通过C(同一用户)将另一个外部服务器连接到数据库。

MySqlConnection mdcon;
try
{
    string myConnectionString = String.Format("SERVER={0}; " +
                    "DATABASE={1}; " +
                    "UID={2}; " +
                    "port={3}; " +
                    "PASSWORD={4};", textBox_MD_IP.Text, textBox_MD_dbname.Text, textBox_MD_user.Text, textBox_MD_Port.Text, textBox_MD_pass.Text);
    MessageBox.Show(myConnectionString);
    mdcon = new MySqlConnection(myConnectionString);
    mdcon.Open();
    MessageBox.Show("Verbindung erfolgreich!");
    mdcon.Close();
}
catch (Exception msg)
{
    MessageBox.Show(msg.ToString());  
    throw;
}
如果有人可以帮助我,我会很高兴。

2 个答案:

答案 0 :(得分:1)

可以将MySQL服务器配置为仅允许来自localhost,来自localhost和指定的其他计算机或来自任何计算机的连接。因此,请检查服务器的配置。 另外,请检查本地计算机的防火墙设置。

答案 1 :(得分:1)

string myConnectionString = String.Format("SERVER={0};" +
                    "DATABASE={1};" +
                    "UID={2};" +
                    "port={3};" +
                    "PASSWORD={4};", textBox_MD_IP.Text, textBox_MD_dbname.Text, textBox_MD_user.Text, textBox_MD_Port.Text, textBox_MD_pass.Text);

我认为不应该在连接字符串中使用空格。 因此,将"DATABASE={1}; "更改为"DATABASE={1};"等等。