Как проверить состояние подключения SQL при запуске приложения? - PullRequest
1 голос
/ 10 января 2012

Мое приложение - это приложение базы данных WPF C #, которое работает с SQL Server 2008 и Entity Framework.

если сервер SQL остановлен или ..., мое приложение зависает, но я хочу показать сообщение пользователю, если возникла эта проблема. Пожалуйста, помогите мне, как я могу это сделать.

Ответы [ 2 ]

2 голосов
/ 10 января 2012

Вы можете проверить, запущена ли служба sql server

http://support.microsoft.com/kb/912426/en-us

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

try
{
var b = db.Table.FirstOrDefault();
}
catch(Exception e)
{
ShowMessageBox(e.Message);
}
1 голос
/ 10 января 2012

Поскольку - в общем случае - у вас могут отсутствовать разрешения или возможность проверять состояние службы сервера sql, попробуйте подключиться к базе данных с коротким тайм-аутом (5 секунд или меньше), перехватите исключение и покажите пользователю, что вы хотите. 1001 *

var csb = new SqlConnectionStringBuilder(yourConnectionString);
csb.ConnectTimeout = 5;
try
{
  using(var c = new SqlConnection(csb.ToString())
  {
    c.Open();
  }
}
catch(Exception ex)
{
  Show the exception to user
}

go on your own
...