c# - 提取sql连接字符串的属性

标签 c# substring

<分区>

我想从 connectionString(字符串变量)中提取服务器和数据库名称。当我们从 DEV 移动到 STAGE 然后再到 PROD 时,服务器和数据库的名称会发生​​变化。

这是一个例子:

Data Source=SERVER_XYZ;Initial Catalog=DATABASE_XYZ;User ID=us;Password=pass

Data Source=SERVER_XYZPQR;Initial Catalog=DATABASE_XYZPQR;User ID=us;Password=pass

注意名称的变化(以及整个字符串的长度)。

如何在不知道长度的情况下捕获数据源和初始目录?因此在加载表单时,它会获取服务器和数据库名称以显示给用户(以便他/她可以看到他/她连接到哪个服务器和数据库?

最佳答案

您可以使用连接字符串生成器类,该类一旦构造就具有数据源和初始目录属性

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnectionstringbuilder.aspx

string connStr = "Data Source=SERVERx;Initial Catalog=DBx;User ID=u;Password=p"; 

var csb = new SqlConnectionStringBuilder(connStr);

string dataSource = csb.DataSource;
string initialCatalog = csb.InitialCatalog;

让 .net 框架为您完成工作 ;) 不要乱用子字符串或正则表达式

关于c# - 提取sql连接字符串的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11803518/

相关文章:

c# - 将嵌套类转换为字典

c# - 更多验证条件

c++ - 以最快的方式获取子字符串

php - 如何在 PHP 中使用单个正则表达式从字符串中提取所有匹配项?

c# - 适当的领域模型设计

c# - 比较 i4o 与 PLINQ 以获得更大的集合

c# - 我们真的需要 app.Run();在最小的 Web API 中?

windows - cmd 相当于 std::string::find_first:of

python - 读取一个单词并打印所有子字符串,在 Python 中按长度排序

java - 如何让一个集合保留包含我在java中指定子字符串的所有字符串?