Partager via


Implémentation d'un fournisseur de données .NET Framework

Un fournisseur de données du .NET Framework vous permet de vous connecter à une source de données afin d'extraire et de modifier des données de cette source. Un fournisseur de données .NET Framework sert également de passerelle entre une source de données et un DataSet ADO.NET.

Le tableau suivant répertorie les fournisseurs de données .NET Framework inclus dans le .NET Framework.

Fournisseur de données .NET Framework Description
Fournisseur de données .NET Framework pour SQL Server Pour Microsoft® SQL Server™ 7.0 ou version ultérieure.
Fournisseur de données .NET Framework pour OLE DB Pour les sources de données exposées à l'aide de OLE DB.
Fournisseur de données .NET Framework pour ODBC Pour les sources de données exposées à l'aide de ODBC.

Remarque   Le fournisseur de données .NET Framework pour ODBC n'est pas inclus dans le .NET Framework version 1.0. Si vous avez besoin du fournisseur de données .NET Framework pour ODBC et que vous utilisez le .NET Framework version 1.0, vous pouvez le télécharger à l'adresse https://msdn.microsoft.com/downloads. L'espace de noms du fournisseur de données .NET Framework pour ODBC téléchargé est Microsoft.Data.Odbc.

La plupart des systèmes de base de données actuellement sur le marché sont déjà accessibles par ADO.NET via un fournisseur OLE DB existant et via les fournisseurs de données .NET Framework pour OLE DB ou ODBC. En outre, vous pouvez exposer de nombreuses sources de données en utilisant directement XML.

ADO.NET vous propose aussi un ensemble minimal d'interfaces qui vous permettra d'implémenter votre propre fournisseur de données .NET Framework. Cette section présente les interfaces et classes disponibles pour ce faire et vous explique comment les utiliser. L'implémentation d'un fournisseur de données .NET Framework personnalisé présente de nombreux avantages, dont :

  • Une architecture d'accès aux données simplifiée, allant souvent de paire avec une gestion facilitée et de meilleures performances.
  • La possibilité d'exposer directement aux consommateurs un comportement propre au fournisseur.
  • Une interface spécifique permettant à vos consommateurs d'accéder à votre source de données au sein du .NET Framework.

Dans certaines situations, toutefois, l'implémentation d'un fournisseur de données .NET Framework personnalisé n'est peut-être pas la meilleure solution :

  • Si les éléments à exposer sont de simples données, et que les concepts associés tels que connexions ou transactions ne sont pas requis, pensez à exposer les données en tant que données XML. Le .NET Framework fournit un ensemble complet et intégré de classes permettant d'exploiter des documents et données XML. Pour plus d'informations, consultez Utilisation de XML dans le .NET Framework.
  • Si toute une série de fonctionnalités de bases de données relationnelles doit être exposée sous une forme normalisée, pensez à écrire un fournisseur OLE DB complet. OLE DB englobant une si large gamme d'API, les fournisseurs OLE DB natifs sont les mieux adaptés pour l'interaction avec des outils génériques.

Les fonctionnalités proposées par un fournisseur de données .NET Framework peuvent être divisées en plusieurs catégories :

  • La version simple d'un fournisseur de données .NET Framework prendra en charge uniquement le DataSet, via l'interface IDataAdapter. L'implémentation d'une version de l'interface IDataParameter permettra probablement une prise en charge supplémentaire pour les requêtes paramétrées. En utilisant ce type de fournisseur de données .NET Framework, vous serez en mesure de charger un DataSet avec des données, de modifier le contenu du DataSet et d'enregistrer les changements dans la source de données d'origine.
  • La version complète d'un fournisseur de données .NET Framework prend en charge à la fois l'interaction avec le DataSet et l'accès aux données connecté utilisant des connexions, des commandes, des transactions, etc. Les fournisseurs de cette catégorie implémentent l'ensemble complet des interfaces IData* et IDb*.

Dans cette section

Rubriques connexes