【问题标题】:get old values of connectionstring from app.config从 app.config 获取连接字符串的旧值
【发布时间】:2017-09-22 04:14:42
【问题描述】:

我的 app.config 中有一个现有的 connectionString,我想读取所有属性。连接字符串如下所示

<add name="Toast" connectionString="Provider=SQLNCLI10.1;Password=abc@123;Persist Security Info=true;User ID=sa;Initial Catalog=Toast;Data Source=192.168.29.232"/>

虽然这是一个OleDB connectionstring,但 OleDBConnection 类并未提供所有属性。例如;如果我想读取 InitialCatalog OleDBConnection 对象没有它的属性。

OleDbConnection connection = new OleDbConnection(config.ConnectionStrings.ConnectionStrings["Toast"].ToString());
string db = connection.Database;
string provider = connection.Provider;
string datasrc = connection.DataSource; 

哪个类对象会给我这个connectionString的所有属性值?

我认为这是一个 oleDB 连接字符串,因为这个链接 https://www.connectionstrings.com/microsoft-ole-db-provider-for-sql-server-sqloledb/

【问题讨论】:

  • 可能类似于DbConnectionStringBuilder
  • 其实初始目录是connection.Database...
  • DbConnectionStringBuilder 可以分别给我一个键和值的 ICollection,但我也必须循环遍历所有内容,尽管它看起来很容易为键和值集合找到相同的索引,但又不是就像使用 object.properties 一样简单。
  • @Fabjan:你是对的,但是其他属性呢?喜欢用户名,并保留安全信息?

标签: c# configuration connection-string oledb app-config


【解决方案1】:

数据库是初始目录。

这应该清除空气。

【讨论】:

  • 用户名和安全信息等其他属性呢?
  • 你可以做var builder = new OleDbConnectionStringBuilder(str); var user = builder["User Id"];
  • 感谢@Nikhil Agrawal - 使用键作为索引有所帮助。
猜你喜欢
  • 2011-09-26
  • 1970-01-01
  • 2015-01-10
  • 2013-11-08
  • 2010-12-22
  • 1970-01-01
  • 2013-02-01
  • 2013-09-13
相关资源
最近更新 更多