[.NET] 透過組態檔案(Config)取得連線字串內設定的資訊

由於寫好的套件會佈署在許多環境(網站、Windows服務、WCF、Batch Console),想取組態檔中(ConnectStrings)的資料庫名稱及應用程式名稱來給不同的參數。

哈!差點Parse字串,筆記取得的方式:

 

組態檔案內容:

<add name="CN" connectionString="Data Source=192.168.100.10;
Initial Catalog=TSQL2014;
User ID=ImDeveloper;Password=Passw0rd;Application Name=Web" 
providerName="System.Data.SqlClient"/>

取得連線字串資訊程式碼:

  • 1.先取得組態連線字串
  • 2.將字串放入SqlConnectionStringBuilder
  • 3.再利用Builder屬性取得所需
//取得連線字串
SqlConnectionStringBuilder SqlConnBuilder = new SqlConnectionStringBuilder
    (ConfigurationManager.ConnectionStrings["CN"].ConnectionString);

Console.WriteLine("資料庫伺服器:{0}", SqlConnBuilder.DataSource);
Console.WriteLine("資料庫名稱:{0}", SqlConnBuilder.InitialCatalog);
Console.WriteLine("帳號:{0}", SqlConnBuilder.UserID);
Console.WriteLine("應用程式名稱:{0}", SqlConnBuilder.ApplicationName);
Console.WriteLine("==========================================");

//列出所有連線字串屬性
foreach (var item in SqlConnBuilder.Keys)
{

    Console.WriteLine("{0}:{1}", item, SqlConnBuilder[item as string]);
}

顯示資訊:

 

先前參加.NET進階課程時,許薰尹老師有分享一個Connectingstring的網站(The Connection Strings Reference),覺得很棒!

 

參考: