Подключение с MySQL.NET соединитель

#c# #.net #mysql #winforms #mysql-connector

#c# #.net #mysql #winforms #mysql-соединитель

Вопрос:

Я получаю сообщение об ошибке:

Не удалось установить соединение с базой данных

когда я подключаюсь с помощью MySQL .NET connector. Я полностью уверен в том, что имя пользователя правильное, пароль правильный, база данных правильная и сервер правильный. Вот код:

 mysqlCon.ConnectionString = "Server=(servername);Username=(username);Pwd=(rightpassword); 
Database=(rightdatabase)";
try
{
    mysqlCon.Open();
}
catch (Exception ex)
{
    MessageBox.Show("Could not establish a connection to database!");
}
  

Комментарии:

1. Возможно, было бы полезно распечатать примерное сообщение вместо того, чтобы игнорировать его. Если вы не используете пойманное вами исключение, не давайте ему имени (например, используйте catch(Exception)

Ответ №1:

Разве вы не должны использовать Uid вместо Username ? По крайней мере connectionstrings.com так и сказано 🙂
А также проверьте, на каком порту работает ваш MySQL. Возможно, вам потребуется добавить номер порта в строку подключения, если вы не используете порт по умолчанию — 3306 .

Ответ №2:

Я использую:

 public MySqlConnection NewConnection(string host, int port, string db, string user, string pwd)
{
    string cstr = String.Format(
        "SERVER={0};PORT={1};DATABASE={2};UID={3};PWD={4}",
        host, port, db, user, pwdd);
    MySqlConnection conn = new MySqlConnection(cstr);
    try { conn.Open(); }
    catch (Exception ex)
    {
        conn = null;
    }
    return conn;
}
  

Ответ №3:

Убедитесь, что база данных доступна с компьютера, на котором выполняется код.

Используйте telnet

 telnet <server> 3306
  

или клиент командной строки MySQL

 mysql -u <user> -h <server> -P <port> -p