Enumerare i provider installati con ADO.NET 2.0

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

Il nuovo DataControl SqlDataSource è stato progettato, contrariamente a quanto il nome potrebbe far pensare, per funzionare con più database e non solo con SQL Server.

A rendere intercambiabile la base dati è l'adozione del modello a Provider, abbinato all'utilizzo del Pattern Factory da parte del controllo SqlDataSource.

I provider utilizzabili con il control SqlDataSource sono dichiarati nel machine.config e possono essere aggiunti o rimossi sfruttando l'architettura di configurazione di ASP.NET, nel web.config.

Per enumerare a runtime tutti i provider installati è sufficiente eseguire il seguente script.

DataTable dt = System.Data.Common.DbProviderFactories.GetFactoryClasses();
foreach (DataRow d in dt.Rows)
{
  Response.Write(d[0].ToString() + "<br />"); 
}

Il metodo GetFactoryClasses restituisce un DataTable dove le colonne contengono rispettivamente il nome del provider, la descrizione, il nome utilizzato programmaticamente per fare riferimento al provider ed infine nell'ultima colonna il Fully-qualified name della classe.

Approfondimenti


#805 Codice indipendente dal database con il ProviderFactory di ADO.NET 2.0
https://www.aspitalia.com/script/805/Codice-indipendente-database-ProviderFactory-ADO.NET-2.0.aspx

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

I più letti di oggi