数据库连接字符串信息

在.Net中有一个类.Net中你可以获取数据库名称,以及所有连接字符串信息,而无需在连接字符串上执行子字符串吗?

编辑:

我没有创建连接我试图从连接字符串中获取信息。 所以我基本上寻找一些带有连接字符串arg并具有dbName,连接类型等的访问器的东西….

如果需要,可以使用特定于提供程序的ConnectionStringBuilder类(在相应的命名空间内)或System.Data.Common.DbConnectionStringBuilder来抽象连接字符串对象。 您需要知道用于指定所需信息的特定于提供程序的关键字,但对于SQL Server示例,您可以执行以下两项操作之一:

特定

 string connectionString = "Data Source = .\\SQLEXPRESS;Database=Northwind;Integrated Security=True;"; 

你可以……

 System.Data.Common.DbConnectionStringBuilder builder = new System.Data.Common.DbConnectionStringBuilder(); builder.ConnectionString = connectionString; string server = builder["Data Source"] as string; string database = builder["Database"] as string; 

要么

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

使用连接字符串初始化连接后,可以从已初始化的连接对象的属性中获取这些信息。

检查System.Data.Common.DbConnection。

 ConnectionInfo connectionInfo = new ConnectionInfo (); connectionInfo = logOnInfo.ConnectionInfo; connectionInfo.DatabaseName = database; connectionInfo.ServerName = server; connectionInfo.Password = password; connectionInfo.UserID = user; 

编辑 :看起来Nathan打败了我,因为我的同一页。

再次编辑 :我应该注意ConnectionInfo位于CrystalDecisions.Shared命名空间中。 至于如何从通用数据库连接中获取它,我不确定。

是的ConnectionInfo

http://msdn.microsoft.com/en-us/library/ms226340(VS.80).aspx

编辑:我和Chris一起意识到这只有在导入Crystal Reports命名空间的情况下才有效。 否则我不确定

如果使用“连接字符串”构建器构建连接字符串(例如,OracleConnectionStringBuilde,对于不同的数据库,它将有所不同),在这种情况下,可以轻松地从中检索信息。

这里解释说:

http://msdn.microsoft.com/en-us/library/ms254947.aspx

 SqlConnection sq = new SqlConnection(ConnectionString); 

参考

完成“使用”声明(来自MSDN)

 using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); // Do work here; connection closed on following line. }