是否有标准的.NET方法来测试SqlConnection字符串是否有效?

时间:2010-12-02 17:11:27

标签: c# sqlconnection

  

可能重复:
  How to check if connection string is valid?

目前我这样做:

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

有更好的方法吗?

2 个答案:

答案 0 :(得分:4)

这几乎就是这样做的方式。虽然您应该考虑处理其他一些异常类型。除sql问题外,还可以other reasons why you don't connect到db服务器。

除了SqlException之外,Connection.Open还可以抛出InvalidOperationException和ArgumentException。此外,.Open调用的API也可以抛出其他类型的异常,这些异常也可以渗透到您的代码中。实际上,这是处理基本异常并向用户显示其消息可能更可取的罕见情况之一。 (一般的经验法则是只处理特定的例外情况。)

答案 1 :(得分:0)

不,那不是......这是唯一的方式

你可以抓住SqlException并返回一些失败的信息,具体取决于异常中的Number