C# 如何从配置文件中获取服务器名称和数据库

C# 如何从配置文件中获取服务器名称和数据库,c#,.net,ado.net,C#,.net,Ado.net,我的配置文件中有一个连接字符串,我在代码中使用它,如下所示- SqlConnection sqlconn = new SqlConnection(ConfigurationManager.ConnectionStrings["DBCentralW2"].ConnectionString); 我需要从中获取服务器名和数据库,并将其作为参数传递给存储的进程 我试图得到它如下,但它是失败的 SqlConnection sqlconn = new SqlConnection(Configuration

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

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;
请帮助我从配置文件中获取数据库和服务器名称

请尝试以下操作:

 System.Data.SqlClient.SqlConnectionStringBuilder builder = new System.Data.SqlClient.SqlConnectionStringBuilder();    
        builder.ConnectionString = sqlconn.ConnectionString;
        string server = builder.DataSource;
        string database = builder.InitialCatalog;

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

在web.config中

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

如果未正确分配连接字符串属性,请尝试:

builder.ConnectionString = ConfigurationManager.ConnectionStrings["DBCentralW2"].ConnectionString;
或者使用连接字符串初始化
SqlConnectionStringBuilder
类,例如

var conBuilder = new SqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings["DBCentralW2"].ConnectionString);

它怎么会失败?发生了什么?为什么你要创建一个
SqlConnection
而不使用它,只是为了找回你传递给它的同一个连接字符串?我得到了它。。。它应该是字符串database=sqlconn.DataSource;字符串服务器=sqlconn.DataSource;
var conBuilder = new SqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings["DBCentralW2"].ConnectionString);