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();
}
}
}