Подключите и вставьте данные с моего компьютера в таблицу 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;
}
}
}
}