首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用SqlConnectionStringBuilder从连接字符串中获取数据库名称

如何使用SqlConnectionStringBuilder从连接字符串中获取数据库名称
EN

Stack Overflow用户
提问于 2012-05-11 19:31:52
回答 6查看 129.7K关注 0票数 100

我不想使用字符串操作函数来拆分连接字符串,以获得Server、Database、Username和Password。

我读了下面的链接和接受的答案,我发现这是从连接字符串中获取用户名和密码的最好方法,但是数据库名称呢?

Right way to get username and password from connection string?

如何使用SqlConnectionStringBuilder从连接字符串中获取数据库名称。( DataSource是否为服务器名称?)

EN

回答 6

Stack Overflow用户

发布于 2012-05-11 19:45:05

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

System.Data.SqlClient.SqlConnectionStringBuilder builder = new System.Data.SqlClient.SqlConnectionStringBuilder(connectionString);

string server = builder.DataSource;
string database = builder.InitialCatalog;

System.Data.Common.DbConnectionStringBuilder builder = new System.Data.Common.DbConnectionStringBuilder();

builder.ConnectionString = connectionString;

string server = builder["Data Source"] as string;
string database = builder["Initial Catalog"] as string;
票数 162
EN

Stack Overflow用户

发布于 2014-02-12 14:59:22

一种更简单的替代方法是从connection对象本身获取信息。例如:

IDbConnection connection = new SqlConnection(connectionString);
var dbName = connection.Database;

同样,您也可以从connection对象中获取服务器名称。

DbConnection connection = new SqlConnection(connectionString);
var server = connection.DataSource;
票数 35
EN

Stack Overflow用户

发布于 2012-05-11 19:42:51

string connectString = "Data Source=(local);" + "Integrated Security=true";

SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connectString);

Console.WriteLine("builder.InitialCatalog = " + builder.InitialCatalog);
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10550541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档