使用C#连接到MySQL Web服务器

时间:2013-07-22 21:47:43

标签: c# mysql

我尝试连接到我的朋友创建的服务器上的MySQL数据库,但它仍然说它无法连接到服务器!

这是我的代码:

        String connectionString = "Persist Security Info=False;database=qwertyui;server=www.qwertyuiop.com;Uid=asdfghj;Pwd=qazwsxedc;Connect Timeout=30";
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            SqlCommand cmd = new SqlCommand("INSERT INTO etc.... ");
            cmd.CommandType = CommandType.Text;
            cmd.Connection = connection;
            cmd.Parameters.AddWithValue( etc.... );
            connection.Open();
            int r = cmd.ExecuteNonQuery();
        }

它会导致connection.Open()指令抛出异常 - >无法连接到服务器。

有什么想法吗?

4 个答案:

答案 0 :(得分:2)

SqlConnection SQL Server 客户端。

您需要从NuGet下载MySql客户端。

答案 1 :(得分:1)

  • 首先下载MySQL Connector

  • 确保向DLL添加reference(+设置本地副本 true !)

  • 在课堂上添加using MySql.Data.MySqlClient;

  • 至于Connection String,http前面添加wwwserver。因为它会尝试连接到apache(端口80)而不是MySQL。默认端口MySQL3306

    string connectionString = "Persist Security Info=False;database=qwertyui;server=qwertyuiop.com;Uid=asdfghj;Pwd=qazwsxedc;port=3306";
    using (MySqlConnection connection = new MySqlConnection(connectionString))
    {
        string query = "INSERT INTO table VALUES (@parameter)";
        connection.Open();
        using (MySqlCommand cmd = new MySqlCommand(query, connection))
        {
            cmd.Parameters.AddWithValue("@parameter", parameter);
            cmd.ExecuteNonQuery();
        }
    }
    

如果这不起作用。确保MySQL 允许远程访问,如果不是这样,您可以继续尝试而不会产生任何结果。

答案 2 :(得分:0)

首先想到的是你必须使用MysqlConnection和命令。 http://dev.mysql.com/doc/refman/5.0/es/connector-net-examples-mysqlconnection.html

是本地数据库吗?

答案 3 :(得分:0)

如果以上所有方法都无效,请尝试获取所有权限(GRANT Syntax)!

基本上它会像:

GRANT ALL PRIVILEGES ON DBname.* to 'username'@'IPadress' IDENTIFIED BY 'password';