如何检查连接字符串是否有效? [英] How to check is connection string valid?

查看:67
本文介绍了如何检查连接字符串是否有效?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我必须保存数据,并且必须先测试连接,然后才能保存数据.如何测试该连接字符串对特定连接有效?

I have to save data and I have to test connection before to save it. How can I test that this connection string is valid for a particular connection?

我的代码是这样的:

static public bool TestConnString(string connectionString)
{
    bool returnVal = true;
    using (SqlConnection conn = new SqlConnection(connectionString))
    {
        try
        {
            conn.Open();

            if (conn.State != ConnectionState.Open)
                returnVal = false;
            else
                returnVal = true;
        }
        catch (Exception ex)
        {
            returnVal = false;
        }
    }

    return returnVal;
}

连接字符串为:

Data Source=testSvr03\SQLEXPRESS;Initial Catalog=Test; Connection Timeout=600; Persist Security Info=True;User ID=Test; password=test 

如果我在连接字符串中提供了错误的数据源,那么它在conn.open()之后再也不会在此函数中返回.我放置了catch块,但它正在其中

If I give wrong data source in connection String then it never returns in this function after conn.open() .I put catch block but it is coming in it

谁能告诉我什么是解决方案?

Can anyone Tell me what is solution?

推荐答案

您可以让

You can let the SqlConnectionStringBuilder constructor check it:

bool isValidConnectionString = true;
try{
    var con = new SqlConnectionStringBuilder("ABC");
}catch(Exception)
{
    // can be KeyNotFoundException, FormatException, ArgumentException
    isValidConnectionString = false;
}

这是 ConnectionStringBuilders 的概述>用于不同的数据提供者:

Here's an overview of the ConnectionStringBuilders for the different data providers:

Provider                   ConnectionStringBuilder 
System.Data.SqlClient      System.Data.SqlClient.SqlConnectionStringBuilder
System.Data.OleDb          System.Data.OleDb.OleDbConnectionStringBuilder
System.Data.Odbc           System.Data.Odbc.OdbcConnectionStringBuilder
System.Data.OracleClient   System.Data.OracleClient.OracleConnectionStringBuilder

这篇关于如何检查连接字符串是否有效?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆