#807 - Enumerare i provider installati con ADO.NET 2.0

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.

Per approfondimenti si veda:

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


Approfondimenti

Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

Per inserire un commento, devi registrarti alla nostra community.




IN EVIDENZA
MISC