2010-12-02 35 views
8

可能重复:
How to check if connection string is valid?有没有标准的.NET方法来测试SqlConnection字符串是否工作?

目前我正在做这样的:

internal bool CheckConnection() 
{ 
    using (SqlConnection testConn = new SqlConnection(this.ConnectionString)) 
    { 
     try 
     { 
      testConn.Open(); 
     } 
     catch (SqlException) 
     { 
      return false; 
     } 
    } 
    return true; 
} 

有没有更好的方式来做到这一点?

+0

这是重复的。如果可能,会删除。 – Crisfole 2010-12-02 19:00:50

回答

4

这几乎是做到这一点的方法。尽管你也应该考虑处理一些其他异常类型。除了sql问题之外,还有一个db服务器可以有other reasons why you don't connect

除了SqlException,Connection.Open还可以抛出InvalidOperationException和ArgumentException。此外,打开呼叫的API可能会抛出其他类型的异常,这些异常也可能渗透到您的代码中。事实上,当处理基本异常并将其消息显示给用户时,这是罕见的情况之一。 (一般的经验法则是只处理特殊情况例外。)

+1

非常真实:数据库可能有效,但网络已关闭,服务器正在重新启动等。 – JLWarlow 2010-12-02 17:19:08

0

NOP,有没有......这是

什么可以被捕捉SqlException和返回一点信息公司ASE的唯一途径取决于Number的例外情况

相关问题