Costruire stringhe di connessioni in maniera programmatica con la classe SqlConnectionStringBuilder

di Marco Leoncini, in UserScript, ASP.NET 2.0, ADO.NET,

Per effettuare la connessione ad un database è necessario specificare una stringa contenente ogni informazione utile affinché questa avvenga senza errori.
Essendo la stringa di connessione del semplice testo, è impossibile sapere se vi siano errori di sintassi e in nessuno modo possiamo accedere in maniera programmatica alle varie proprietà.

Si può risolvere questo problema utilizzando la classe SqlConnectionStringBuilder (System.Data.SqlClient), che consente di creare stringhe di connessione sintatticamente corrette, fare il parsing di stringhe di connessione esistenti o modificare le impostazioni utilizzando le proprietà esposte dalla classe, proprietà fortemente tipizzate per le coppie chiave/valore consentite da SQL Server.

Nell'esempio seguente creiamo una nuova istanza della classe SqlConnectionStringBuilder utilizzando l'overload del costruttore che accetta come parametro una stringa:

try
{
  SqlConnectionStringBuilder SBuilder = new SqlConnectionStringBuilder("Server=(local);Integrated Security=SSPI; Initial Catalog=AdventureWorks");
}
catch (Exception ex)
{
  Response.Write(ex.Message.ToString());
}

La creazione del nuovo oggetto SqlConnectionStringBuilder viene racchiusa in un blocco try/catch al fine di intercettare un eventuale errore di sintassi riscontrato durante il parsing della stringa. Una volta istanziata la classe è possibile cambiarne le proprietà, come ad esempio il database associato alla connessione, come in questo esempio:

try
{
  SqlConnectionStringBuilder SBuilder = new SqlConnectionStringBuilder("Server=(local);Integrated Security=SSPI; Initial Catalog=AdventureWorks");
  SBuilder.InitialCatalog = "Northwind";
}
catch (Exception ex)
{
  Response.Write(ex.Message.ToString());
}

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi