0

我的配置文件中有一个连接字符串,我在我的代码中使用它,如下所示 -

SqlConnection sqlconn = new SqlConnection(ConfigurationManager.ConnectionStrings["DBCentralW2"].ConnectionString);

我需要从中获取服务器名称和数据库,并将其作为参数传递给我的存储过程。

我试图得到它如下,但它失败了。

SqlConnection sqlconn = new SqlConnection(ConfigurationManager.ConnectionStrings["DBCentralW2"].ConnectionString);
SqlConnectionStringBuilder conbuilder = new SqlConnectionStringBuilder();
conbuilder.ConnectionString = sqlconn.ToString();
string server = conbuilder.DataSource;
string database = conbuilder.InitialCatalog;

请帮我从我的配置文件中获取数据库和服务器名称

4

3 回答 3

2

您没有正确分配连接字符串属性,请尝试:

builder.ConnectionString = ConfigurationManager.ConnectionStrings["DBCentralW2"].ConnectionString;

SqlConnectionStringBuilder或者使用连接字符串初始化你的类,例如

var conBuilder = new SqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings["DBCentralW2"].ConnectionString);
于 2012-11-19T16:04:29.377 回答
0

尝试以下:

 System.Data.SqlClient.SqlConnectionStringBuilder builder = new System.Data.SqlClient.SqlConnectionStringBuilder();    
        builder.ConnectionString = sqlconn.ConnectionString;
        string server = builder.DataSource;
        string database = builder.InitialCatalog;
于 2012-11-19T16:03:20.520 回答
0

我建议您将连接字符串存储在 web.config 中,而不是按原样使用,而不是构建它

在 web.config 中

<add name="connStr" connectionString="Data Source=.\SQLEXPRESS; Initial Catalog=dbtest; Integrated Security=SSPI" />

在cs文件中

string connectionString = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
        SqlConnection con = new SqlConnection(connectionString);

        con.Open();
于 2012-11-19T16:04:23.227 回答