数据库连接字符串信息
在.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,对于不同的数据库,它将有所不同),在这种情况下,可以轻松地从中检索信息。
这里解释说:
SqlConnection sq = new SqlConnection(ConnectionString);
参考
完成“使用”声明(来自MSDN)
using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); // Do work here; connection closed on following line. }