Как проверить соединение SQL в C # .Net? - PullRequest
1 голос
/ 19 августа 2010

Я хочу проверить соединение с SQL-сервером, прежде чем устанавливать соединение с БД, и мне нужно обновить состояние соединения с SQL-сервером в моем графическом интерфейсе.

Вот код, который я проверяю, соединение SQL, но я не мог часто получать статус

Сценарий:

  • Остановите службу сервера sql из окна служб
  • Запуск проекта и будет отображаться статус «Соединение недоступно»
  • Запустить службу сервера Sql и отобразить «Connection Live»
  • И снова Остановите службу сервера SQL, и я не получаю статус "" Соединение не Доступен ». Возвращается статус« Соединение в реальном времени »
  • Он не попадает в блок захвата

Код:

  private void timer1_Tick(object sender, EventArgs e)
    {
        bool Flag = false;
        try
        {
            using (SqlConnection con = new SqlConnection(strcon))
            {
                con.Open();
            }
        }
        catch (SqlException s)
        {
            Flag = true;
            label1.Text = "Connection Not available";
        }
        finally
        {
            if (Flag == false)
            {
                label1.Text = "Connection Live";
            }
        }
    }

Ответы [ 2 ]

1 голос
/ 19 августа 2010

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

1 голос
/ 19 августа 2010

Оберните вашу попытку подключения в try..catch (она должна использовать оператор using как минимум).[Точное расположение try..catch в вашем коде в некоторой степени зависит от структуры вашего кода.]

Для приложения необычно поддерживать доступность SQL Server.В конце концов, это может быть недоступно в миллисекундах после того, как вы протестируете и покажете, что это доступно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...