2012-01-10 28 views
1

我的应用程序是一个WPF C#数据库应用程序,与SQL Server 2008和实体框架一起工作。如何检查应用程序启动时的sql连接状态?

如果sql服务器停止或...,我的应用程序挂起,但我想显示一条消息,如果发生此问题的用户。 请帮我,我该怎么做。

+0

当您尝试连接到数据库或者当您连接并且连接下降时会发生此错误吗? – Moonlight 2012-01-10 09:30:56

+0

没有错误。只是“挂起”,当我启动sql服务器,然后应用程序开始工作。 – 2012-01-10 10:26:48

回答

2

您可以检查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

自 - 一般 - 你可能没有权限或检查SQL Server的服务状态的能力,尽量用短超时(5秒或更低)连接到数据库捕获异常,并展现给用户什么你要。

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 
相关问题