在C#.NET的帮助下,将数据从我的计算机连接到服务器的MySQL数据库表

问题描述 投票:0回答:3

我想连接服务器的MySql DB(cpanel)。虽然每次我收到Messegebox的消息时都没有错误:无法连接到任何指定的任何MySql主机。

output type

using MySql.Data.MySqlClient;
        connString = "SERVER = ********;PORT=3306;DATABASE=********;UID=**********;PASSWORD=*********";
        try
        {
            conn = new MySqlConnection();
            conn.ConnectionString = connString;
            conn.Open();
            MessageBox.Show("Server is online");

        }
        catch (MySql.Data.MySqlClient.MySqlException ex)
        { MessageBox.Show(ex.Message);}
c# mysql cpanel remote-mysql
3个回答
0
投票

如果您尝试从外部连接到MySQL服务器,则需要启用外部连接。

请注意,如果您将应用程序提供给包含数据库信息的其他人,则这是一个安全漏洞。要解决这个问题,您需要创建一个Web-API。


0
投票

连接到您的应用程序到远程服务器的第一步MySql Server验证它是否允许外部连接,默认情况下root用户被锁定,允许本地您可以尝试连接root用户在MySql中键入以下命令:

 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
 FLUSH PRIVILEGES;
'root': You can change it with your user.
'%': allows all connections, you can limit it typing an IP.

第二步是验证您的MySql .net连接器

干杯!


0
投票

我会研究使用ConnectionStringBuilder。另请注意使用'使用'。这将确保资源在完成后处置。

private MySqlConnectionStringBuilder sConnString = new MySqlConnectionStringBuilder
{
    Server = "",
    UserID = "",
    Password = "",
    Database = ""
};

private void Test(){

    // open connection to db
    using (MySqlConnection conn = new MySqlConnection(sConnString.ToString()))
    {
        using (MySqlCommand cmd = conn.CreateCommand())
        {
            try
            {
                conn.Open();
                cmd.CommandText = "SELECT * FROM foo WHERE OrderID = @OrderID";

                // Add any params
                cmd.Parameters.AddWithValue("@OrderID", "1111");
                cmd.Prepare();
                cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
                return;
            }
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.