[TIPS] Leggere le proprieta' di una stringa di connessione

A volte si ha la necessita' di leggere le proprieta' di una stringa di connessione senza doverne fare il parsing manuale.

Il .NET Framework 2.0 mette a disposizione una classe base (e le specializzazioni per ogni DB supportato) che permette di leggere (e/o creare
programmaticamente) la stringa di connessione conoscendo le singole proprieta' (Database Server, Username, password ecc.).

La classe astratta (base) è la System.Data.Common.DbConnectionStringBuilder mentre, la specializzazione per SqlServer è la 
System.Data.SqlClient.SqlConnectionStringBuilder .

Il seguente snippet mostra come leggere alcune delle informazioni che quest'ultima classe mette a disposizione:

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections.Generic;
using System.Text;

namespace Bitbreaker.Utilities
{
    class ConnectionStringBuilder
    {
        static void Main(string[] args)
        {
            SqlConnectionStringBuilder csb =  
                  new SqlConnectionStringBuilder("server=DEV-SRV;uid=sa;pwd=dbpass;database=MyInitialDB;Application Name=SampleDemo");
            Console.WriteLine("Server Name: " + csb.DataSource);
            Console.WriteLine("DB Name: " + csb.InitialCatalog);
            Console.WriteLine("UserName: " + csb.UserID);
            Console.WriteLine("Password: " + csb.Password);
            Console.ReadKey();
        }
    }
}
«giugno»
domlunmarmergiovensab
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567