Spec-Zone.ru › MySQL Connectors 1.0

4.3 Обработка ошибок соединения

Поскольку подключение к внешнему серверу непредсказуемо, важно добавить обработку ошибок в ваше приложение .NET. При возникновении ошибки подключения класс MySqlConnection вернет объект MySqlException. Этот объект имеет две свойства, которые важны при обработке ошибок:

  • Message: Сообщение, описывающее текущее исключение.

  • Number: Номер ошибки MySQL.

При обработке ошибок вы можете адаптировать ответ вашего приложения в зависимости от номера ошибки. Два наиболее распространенных номера ошибок при подключении следующие:

  • 0: Невозможно подключиться к серверу.

  • 1045: Неверный логин, пароль пользователя или оба.

Следующий пример кода демонстрирует, как управлять ответом приложения на основе фактической ошибки:

Пример C#

MySql.Data.MySqlClient.MySqlConnection conn;
string myConnectionString;

myConnectionString = "server=127.0.0.1;uid=root;" +
    "pwd=12345;database=test";

try
{
    conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString);
    conn.Open();
}
    catch (MySql.Data.MySqlClient.MySqlException ex)
{
    switch (ex.Number)
    {
        case 0:
            MessageBox.Show("Cannot connect to server.  Contact administrator");
            break;
        case 1045:
            MessageBox.Show("Invalid username/password, please try again");
            break;
    }
}

Пример Visual Basic

Dim myConnectionString as String

myConnectionString = "server=127.0.0.1;" _
          & "uid=root;" _
          & "pwd=12345;" _
          & "database=test"

Try
    Dim conn As New MySql.Data.MySqlClient.MySqlConnection(myConnectionString)
    conn.Open()
Catch ex As MySql.Data.MySqlClient.MySqlException
    Select Case ex.Number
        Case 0
            MessageBox.Show("Cannot connect to server. Contact administrator")
        Case 1045
            MessageBox.Show("Invalid username/password, please try again")
    End Select
End Try
Важно

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

MySqlConnection myConnection = new MySqlConnection("server=127.0.0.1;uid=root;" +
    "pwd=12345;database=test;Charset=latin1");

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/connector-net-en/connector-net-connections-errors.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API