Подключите и вставьте данные с моего компьютера в таблицу MySQL DB сервера с помощью C#.NET

Я хочу подключиться к серверу MySql DB(cpanel) . Хотя нет никаких ошибок каждый раз, когда я получаю сообщение для Messegebox: невозможно подключиться ни к одному из указанных хостов MySql.

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);}

3 ответа

Первым шагом для подключения вашего приложения к удаленному серверу 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 разъем

Ура!

Если вы пытаетесь подключиться к серверу MySQL извне, внешние подключения должны быть включены.

Помните, что это дыра в безопасности, если вы предоставляете свое приложение другим, которые содержат информацию о БД. Чтобы обойти это, вам нужно создать Web-API.

Я хотел бы изучить использование 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;
            }
        }
    }
}
Другие вопросы по тегам