Partager via


Fournisseurs de données .NET Framework

Un fournisseur de données .NET Framework est utilisé pour la connexion à une base de données, l'exécution de commandes et l'extraction de résultats. Ces résultats sont soit traités directement, soit placés dans un objet DataSet ADO.NET pour pouvoir être exposés à l'utilisateur de manière adéquate, combinés aux données de différentes sources ou accédés à distance entre couches. Le fournisseur de données .NET Framework est conçu pour être léger et créer une couche minimale entre la source de données et votre code, afin d'augmenter les performances sans réduire la fonctionnalité.

Le tableau suivant présente les quatre principaux objets qui composent un fournisseur de données .NET Framework.

Objet Description
Connection Établit une connexion à une source de données spécifique.
Command Exécute une commande sur une source de données. Expose les Parameters et peut s'exécuter au sein d'une Transaction à partir d'une Connection.
DataReader Lit un flux de données avant uniquement (forward only) et en lecture seule à partir d'une source de données.
DataAdapter Remplit un DataSet et répercute les mises à jour dans la source de données.

Le .NET Framework comprend le fournisseur de données .NET Framework pour SQL Server (pour Microsoft SQL Server 7.0 ou version ultérieure), le fournisseur de données .NET Framework pour OLE DB et le fournisseur de données .NET Framework pour 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.

Fournisseur de données .NET Framework pour SQL Server

Le fournisseur de données .NET Framework pour SQL Server utilise son propre protocole pour communiquer avec SQL Server. Il est léger et ses performances sont élevées car il est optimisé de façon à accéder directement à un serveur SQL Server, sans ajout d'une couche OLE DB ou ODBC (Open DataBase Connectivity). L'illustration suivante compare le fournisseur de données .NET Framework pour SQL Server et le fournisseur de données .NET Framework pour OLE DB. Le fournisseur de données .NET Framework pour OLE DB communique avec une source de données OLE DB à la fois via le composant de service OLE DB, qui assure le regroupement de connexion et les services de transactions, et via le fournisseur OLE DB de la source de données.

Remarque   Le fournisseur de données .NET Framework pour ODBC présente une architecture similaire à celle du fournisseur de données .NET Framework pour OLE DB ; par exemple, il appelle un composant de service ODBC.

Comparaison du fournisseur de données .NET Framework pour SQL Server et du fournisseur de données .NET Framework pour OLE DB

Pour pouvoir utiliser le fournisseur de données .NET Framework pour SQL Server, vous devez avoir accès à Microsoft SQL Server 7.0 ou version ultérieure. Les classes du fournisseur de données .NET Framework pour SQL Server se situent dans l'espace de noms System.Data.SqlClient. Pour les versions antérieures de Microsoft SQL Server, utilisez le fournisseur de données .NET Framework pour OLE DB avec le fournisseur OLE DB SQL Server (SQLOLEDB).

Le fournisseur de données .NET Framework pour SQL Server prend en charge les transactions locales et distribuées. Pour les transactions distribuées, le fournisseur de données .NET Framework pour SQL Server s'inscrit automatiquement par défaut dans une transaction et obtient des services de composants Windows 2000 les détails des transactions. Pour plus d'informations, consultez Exécution des transactions.

L'exemple de code suivant montre comment inclure l'espace de noms System.Data.SqlClient dans vos applications.

Imports System.Data.SqlClient
[C#]
using System.Data.SqlClient;

Le fournisseur de données .NET Framework pour SQL Server requiert l'installation de Microsoft Data Access Components (MDAC) 2.6 ou version ultérieure.

Fournisseur de données .NET Framework pour OLE DB

Le fournisseur de données .NET Framework pour OLE DB utilise un fournisseur OLE DB natif via COM Interop pour permettre l'accès aux données. Le fournisseur de données .NET Framework pour OLE DB prend en charge les transactions locales et distribuées. Pour les transactions distribuées, le fournisseur de données .NET Framework pour OLE DB s'inscrit automatiquement par défaut dans une transaction et obtient des services de composants Windows 2000 les détails des transactions. Pour plus d'informations, consultez Exécution des transactions.

Pour pouvoir utiliser le fournisseur de données .NET Framework pour OLE DB, vous devez utiliser un fournisseur OLE DB prenant en charge les interfaces OLE DB répertoriées dans Interfaces OLE DB utilisées par le fournisseur de données .NET Framework pour OLE DB.

Le tableau suivant montre les fournisseurs qui ont été testés avec ADO.NET.

Pilote Fournisseur
SQLOLEDB Fournisseur Microsoft OLE DB pour SQL Server
MSDAORA Fournisseur Microsoft OLE DB pour Oracle
Microsoft.Jet.OLEDB.4.0 Fournisseur OLE DB pour Microsoft Jet

**Remarque   **Il est déconseillé d'utiliser une base de données Access (Jet) comme source de données pour les applications multithread, telles que les applications ASP.NET. Si vous devez utiliser Access comme source de données pour une application ASP.NET et qu'il vous soit impossible de recourir à une solution de remplacement telle que SQL Server ou MSDE, sachez que les applications ASP.NET qui se connectent à une base de données Access peuvent rencontrer des problèmes de connexion liés le plus souvent aux autorisations de sécurité. Pour des informations de dépannage relatives aux problèmes de connexion à l'aide de ASP.NET et d'une base de données Access, consultez l'article Q316675 « PRB: Cannot Connect to Access Database from ASP.NET » dans la Base de connaissances Microsoft à l'adresse https://support.microsoft.com.

Le fournisseur de données .NET Framework pour OLE DB ne prend pas en charge les interfaces OLE DB version 2.5. Les fournisseurs OLE DB qui requièrent la prise en charge des interfaces OLE DB 2.5 ne fonctionneront pas correctement avec le fournisseur de données .NET Framework pour OLE DB. C'est le cas du fournisseur Microsoft OLE DB pour Exchange et du fournisseur Microsoft OLE DB pour Internet Publishing.

Le fournisseur de données .NET Framework pour OLE DB ne fonctionne pas avec le fournisseur OLE DB pour ODBC (MSDASQL). Pour accéder à une source de données ODBC à l'aide de ADO.NET, utilisez le fournisseur de données .NET Framework pour ODBC.

Les classes du fournisseur de données .NET Framework pour OLE DB se situent dans l'espace de noms System.Data.OleDb. L'exemple de code suivant montre comment inclure l'espace de noms System.Data.OleDb dans vos applications.

Imports System.Data.OleDb
[C#]
using System.Data.OleDb;

Le fournisseur de données .NET Framework pour OLE DB requiert l'installation de MDAC 2.6 ou version ultérieure.

Fournisseur de données .NET Framework pour ODBC

Le fournisseur de données .NET Framework pour ODBC utilise un gestionnaire de pilotes ODBC natif via COM Interop pour permettre l'accès aux données. Le fournisseur de données pour ODBC prend en charge les transactions locales et distribuées. Pour les transactions distribuées, le fournisseur de données pour ODBC s'inscrit automatiquement par défaut dans une transaction et obtient des services de composants Windows 2000 les détails des transactions. Pour plus d'informations, consultez Exécution des transactions.

Le tableau suivant indique les pilotes ODBC qui ont été testés avec ADO.NET.

Pilote
SQL Server
Microsoft ODBC pour Oracle
Pilote Microsoft Access (*.mdb)

Les classes du fournisseur de données .NET Framework pour ODBC se situent dans l'espace de noms System.Data.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.

L'exemple de code suivant montre comment inclure l'espace de noms System.Data.Odbc dans vos applications.

Imports System.Data.Odbc
[C#]
using System.Data.Odbc;

Le fournisseur de données .NET Framework pour ODBC requiert l'installation de MDAC 2.6 ou version ultérieure. MDAC 2.7 est recommandé.

Fournisseur de données .NET Framework pour Oracle

Le fournisseur de données .NET Framework pour Oracle permet l'accès aux sources de données Oracle par le biais du logiciel de connectivité client Oracle. Il prend en charge le logiciel client Oracle version 8.1.7 et ultérieure. Ce fournisseur de données prend en charge les transactions locales et distribuées (il s'inscrit automatiquement dans des transactions distribuées existantes, mais ne prend actuellement pas en charge la méthode EnlistDistributedTransaction). Pour plus d'informations, consultez Exécution des transactions.

Le fournisseur de données .NET Framework pour Oracle requiert que le logiciel client Oracle (version 8.1.7 ou ultérieure) soit installé sur le système avant que vous puissiez l'utiliser pour vous connecter à une source de données Oracle.

Les classes du fournisseur de données .NET Framework pour Oracle se situent dans l'espace de noms System.Data.OracleClient et sont contenues dans l'assembly System.Data.OracleClient.dll. Vous devez référencer System.Data.dll ainsi que System.Data.OracleClient.dll lorsque vous compilez une application qui utilise le fournisseur de données.

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

L'exemple de code suivant montre comment inclure l'espace de noms System.Data.OracleClient dans vos applications.

Imports System.Data.OracleClient
[C#]
using System.Data.OracleClient;

Le fournisseur de données .NET Framework pour Oracle requiert l'installation de MDAC 2.6 ou version ultérieure.

Choix d'un fournisseur de données .NET Framework

Selon le design et la source de données de votre application, le choix de votre fournisseur de données .NET Framework peut améliorer les performances, les fonctionnalités et l'intégrité de votre application. Le tableau suivant présente les avantages et les limites de chaque fournisseur de données .NET Framework.

Fournisseur Remarques
Fournisseur de données .NET Framework pour SQL Server Recommandé pour les applications de couche intermédiaire utilisant Microsoft SQL Server 7.0 ou version ultérieure.

Recommandé pour les applications monocouches utilisant Microsoft Data Engine (MSDE) ou Microsoft SQL Server 7.0 ou version ultérieure.

Recommandé par rapport à l'utilisation du fournisseur OLE DB pour SQL Server (SQLOLEDB) avec le fournisseur de données .NET Framework pour OLE DB.

Pour Microsoft SQL Server version 6.5 et antérieure, vous devez utiliser le fournisseur OLE DB pour SQL Server avec le fournisseur de données .NET Framework pour OLE DB.

Fournisseur de données .NET Framework pour OLE DB Recommandé pour les applications de couche intermédiaire utilisant Microsoft SQL Server 6.5 ou version antérieure, ou pour tout fournisseur OLE DB prenant en charge les interfaces OLE DB répertoriées dans Interfaces OLE DB utilisées par le fournisseur de données .NET Framework pour OLE DB (les interfaces OLE DB 2.5 ne sont pas requises).

Pour Microsoft SQL Server 7.0 ou version ultérieure, le fournisseur de données .NET Framework pour SQL Server est recommandé.

Recommandé pour les applications monocouches utilisant des bases de données Microsoft Access. L'utilisation d'une base de données Microsoft Access pour une application de couche intermédiaire est déconseillée.

Fournisseur de données .NET Framework pour ODBC Recommandé pour les applications de couche intermédiaire utilisant des sources de données ODBC.

Recommandé pour les applications monocouches utilisant des sources de données 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.
Fournisseur de données .NET Framework pour Oracle Recommandé pour les applications de couche intermédiaire utilisant des sources de données Oracle.

Recommandé pour les applications monocouches utilisant des sources de données Oracle.

Il prend en charge le logiciel client Oracle version 8.1.7 et ultérieure.

Les classes du fournisseur de données .NET Framework pour Oracle se situent dans l'espace de noms System.Data.OracleClient et sont contenues dans l'assembly System.Data.OracleClient.dll. Vous devez référencer System.Data.dll ainsi que System.Data.OracleClient.dll lorsque vous compilez une application qui utilise le fournisseur de données.

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

Voir aussi

Vue d'ensemble de ADO.NET | Architecture ADO.NET | Utilisation des fournisseurs de données .NET Framework pour l'accès aux données