Implementazione di un provider di dati .NET Framework

Un provider di dati di .NET Framework consente di effettuare la connessione a un'origine dati per il recupero e la modifica di dati da tale origine dati. Un provider di dati .NET Framework funge inoltre da ponte tra un'origine dati e un DataSet di ADO.NET.

Nella tabella che segue sono elencati i provider di dati .NET Framework inclusi in .NET Framework.

Provider di dati .NET Framework Descrizione
Provider di dati .NET Framework per SQL Server Per Microsoft® SQL Server™ 7.0 o versione successiva.
Provider di dati .NET Framework per OLE DB Per origini dati esposte mediante OLE DB.
Provider di dati .NET Framework per ODBC Per origini dati esposte mediante ODBC.

Nota   Il provider di dati .NET Framework per ODBC non è incluso in .NET Framework versione 1.0. Se si dispone di .NET Framework versione 1.0 e si desidera utilizzare il provider di dati .NET Framework per ODBC, sarà possibile scaricare quest'ultimo all'indirizzo https://msdn.microsoft.com/downloads/ (informazioni in lingua inglese). Lo spazio dei nomi del provider di dati .NET Framework per ODBC è Microsoft.Data.Odbc.

La maggior parte dei sistemi di database attualmente disponibili è già accessibile da ADO.NET tramite un provider OLE DB esistente e il provider di dati .NET Framework per OLE DB o il provider di dati .NET Framework per ODBC. È inoltre possibile esporre direttamente molte origini dati mediante XML.

Con ADO.NET viene inoltre fornito un insieme minimo di interfacce per l'implementazione di un provider di dati .NET Framework personalizzato. In questa sezione vengono illustrate le interfacce e le classi disponibili e il relativo utilizzo. L'implementazione di un provider di dati .NET Framework personalizzato presenta numerosi vantaggi, tra cui:

  • Un'architettura semplificata per l'accesso ai dati, spesso con una migliore capacità di mantenimento e prestazioni superiori.
  • La possibilità di esporre direttamente ai consumer il comportamento specifico del provider.
  • Un'interfaccia apposita che consente ai consumer di accedere all'origine dati all'interno di .NET Framework.

In alcune situazioni è tuttavia consigliabile valutare alternative all'implementazione di un provider di dati .NET Framework personalizzato:

  • Se è richiesta solo l'esposizione di dati puri e non è necessario alcun concetto associato, ad esempio connessioni e transazioni, prendere in considerazione l'esposizione dei dati sotto forma di dati XML. In .NET Framework è disponibile un insieme completo e integrato di classi per l'utilizzo di documenti e dati XML. Per ulteriori informazioni, vedere Utilizzo di XML in .NET Framework.
  • Se è necessario esporre in una modalità standard un insieme completo di funzionalità di un database relazionale, si prenda in considerazione la scrittura di un provider OLE DB dalle funzionalità complete. Poiché OLE DB fa riferimento a una tale vasta gamma di API, i provider OLE DB nativi risultano ottimali per l'interazione con strumenti generici.

È possibile suddividere le funzionalità fornite da un provider di dati .NET Framework nelle seguenti categorie:

  • Una forma semplice di un provider di dati .NET Framework supporta solo il DataSet, mediante l'interfaccia IDataAdapter. Mediante l'implementazione di una versione dell'interfaccia IDataParameter, viene fornito supporto aggiuntivo per le query con parametri. Utilizzando questo tipo di provider di dati .NET Framework, sarà possibile caricare dati in un DataSet, modificare i contenuti del DataSet e salvare le modifiche nell'origine dati.
  • L'interazione con il DataSet e l'accesso ai dati connessi mediante connessioni, comandi, transazioni e così via sono supportati dalla forma completa del provider di dati .NET Framework. Nei provider appartenenti a questa categoria viene implementato l'insieme completo di interfacce IData* e IDb*.

In questa sezione

  • Introduzione all'implementazione di un provider di dati .NET Framework
    Vengono forniti informazioni e suggerimenti per la definizione del provider di dati .NET Framework, inclusa una descrizione delle interfacce disponibili per l'implementazione. Vengono anche fornite informazioni sulla creazione di uno spazio dei nomi per il provider.
  • Implementazione di una connessione
    Vengono descritti gli attributi di una connessione e la modalità di implementazione di una connessione personalizzata per il provider di dati .NET Framework.
  • Implementazione di un comando
    Vengono descritti gli attributi di un comando e la modalità di implementazione di un comando personalizzato per il provider di dati .NET Framework.
  • Implementazione di un DataReader
    Vengono descritti gli attributi di un DataReader e la modalità di implementazione di un DataReader personalizzato per il provider di dati .NET Framework.
  • Implementazione di un DataAdapter
    Vengono descritti gli attributi di un DataAdapter e la modalità di implementazione di un DataAdapter personalizzato per il provider di dati .NET Framework.
  • Esempio di provider di dati .NET Framework
    Viene fornita un'implementazione di esempio di un provider di dati .NET Framework.

Sezioni correlate