#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