如何从Web Config获取连接字符串?我想在我的主ASP.net页面(C#)上显示数据库和服务器名称.
我的web.config中的连接字符串如下所示:
<add name="Application_ConnectionString" connectionString="Data Source=ServerName;Initial Catalog=DatabaseName;Persist Security Info=True;Connection Timeout =60;Integrated Security=SSPI" providerName="System.Data.SqlClient"/>
Run Code Online (Sandbox Code Playgroud)
Joh*_*sch 21
还有SqlConnectionStringBuilder班级:
var connectionString =
new System.Data.SqlClient.SqlConnectionStringBuilder("Data Source=ServerName;Initial Catalog=DatabaseName;Persist Security Info=True;Connection Timeout =60;Integrated Security=SSPI");
Console.WriteLine(connectionString.DataSource);
Console.WriteLine(connectionString.InitialCatalog);
// ...
Run Code Online (Sandbox Code Playgroud)
要直接从配置获取连接字符串,请使用:
foreach (ConnectionStringSettings c in System.Web.Configuration.WebConfigurationManager.ConnectionStrings)
{
var connectionString = new SqlConnectionStringBuilder(c.ConnectionString)
//connectionString.DataSource; // server name
//connectionString.InitialCatalog; // database name
}
Run Code Online (Sandbox Code Playgroud)
请注意,这将包含machine.config中的连接字符串(例如data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true).如果您不希望看到可以在代码中过滤它,或者<clear />在连接字符串之前将元素添加到web.config中.
小智 5
这对我有用:
var conn = ConfigurationManager.ConnectionStrings["yourconnectionstringname"].ConnectionString;
var csb = new SqlConnectionStringBuilder(conn);
textboxServer.Text = csb.DataSource;
textboxUserName.Text = csb.UserID;
textboxPassword.Text = csb.Password;
textboxInitialCatalog.Text = csb.InitialCatalog;
Run Code Online (Sandbox Code Playgroud)
希望能帮到你
SqlConnection有一个Database属性,因此您可以在创建连接后从中获取数据库名称。
您可以使用SqlConnection 类的DataSource属性获取实例名称。实例与服务器名称相似但不完全相同。