C#MySql.Data.MySqlClient.MySqlException(0x80004005)

时间:2015-09-19 06:54:46

标签: c# winforms phpmyadmin

这是我的连接字符串

"Server=xxx.xxx.xxx.x;Database=database;Uid='root';Pwd='';"

服务器上的ip是我要访问的另一台计算机(有xampp)的ip。

这是我收到的例外情况。

  

MySql.Data.MySqlClient.MySqlException(0x80004005):无法连接   到任何指定的MySQL主机。在   MySql.Data.MySqlClient.NativeDriver.Open()at   MySql.Data.MySqlClient.Driver.Open()at   MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder   设置)在MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()   在MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()at   MySql.Data.MySqlClient.MySqlPool.GetConnection()at   MySql.Data.MySqlClient.MySqlConnection.Open()

2 个答案:

答案 0 :(得分:1)

使用C#上的mysql,你不需要连接字符串中的单引号

前:

ConnStr = "Server = XXX.XXX.XXX.XXX; Database = mydatabase; Uid = root; Pwd = yourpassword";   

MySqlConnection con = new MySqlConnection(ConnStr)

您还可以验证是否可以ping另一台计算机:

    using System.Net.NetworkInformation;

    public static bool IsConnectedToServer()
    {
        Ping p = new Ping();
        try
        {
            PingReply reply = p.Send("XXX.XXX.XXX.XXX", 3000);
            if (reply.Status == IPStatus.Success)
                return true;
            else return false;
        }
        catch { return false; }
    }

答案 1 :(得分:0)

我认为您的连接字符串错误

我应该在<appSettings>

<add key="myConnectionString" value="Server=localhost;Database=dbName;User Id=username;Password=password;"/>

<connectionStrings>

中的

<add name="myConnectionString" connectionString="Server=Server=localhost;Database=dbName;User Id=username;Password=password;" providerName="MySql.Data.MySqlClient"/>

除了请参阅此Link以启用Mysql远程访问