【问题标题】:How to check sql connection status in application start-up?如何在应用程序启动时检查 sql 连接状态?
【发布时间】:2012-01-10 09:24:26
【问题描述】:

我的应用程序是一个 WPF C# 数据库应用程序,可与 sql Server 2008 和实体框架一起使用。

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

【问题讨论】:

  • 是尝试连接数据库还是连接失败时出现这个错误?
  • 没有错误。只是“挂起”,当我启动 sql server 时,应用程序开始工作。

标签: c# wpf sql-server sql-server-2008 database-connection


【解决方案1】:

您可以检查sql server服务是否正在运行

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

然后在 try-catch 块中执行简单的选择以检测您是否拥有数据库的用户权限。

try
{
var b = db.Table.FirstOrDefault();
}
catch(Exception e)
{
ShowMessageBox(e.Message);
}

【讨论】:

    【解决方案2】:

    因为 - 通常 - 您可能没有权限或能力检查 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多