web-dev-qa-db-fra.com

Quelle est la différence entre adodb et oledb?

Quelle est la différence entre adodb et oledb?

Quelle est la relation entre ces deux?

Où est-ce que ado.net se situe dans le contexte de adodb et oledb?

38
TheVillageIdiot

Adodb (ActiveX Data Objects DB) est une couche API sur OLE DB. Il fonctionne bien avec les bases de données MS telles que Sql Server, fournissant une API cohérente et des optimisations Cela étant dit, vous pouvez également utiliser ADODB pour vous connecter à des sources de données non MS, mais cela signifierait que vous aurez besoin d'un fournisseur OLEDB/ODBC pour la source de données.

En termes plus simples, pour vous connecter à n'importe quelle source de données, vous avez besoin d'un pilote. Voici quelques scénarios courants auxquels penser:

  1. ADODB pour la source de données qui a ODBC pilote uniquement - ADODB utilise le fournisseur OLEDB pour ODBC qui charge ODBC pilote qui se connecte ensuite à la source de données.
  2. ADODB pour la source de données avec le pilote OLEDB (comme SQL Server) - ADODB utilise le fournisseur OLEDB pour SQL Server pour parler directement avec DB.

Oledb (Object Linking and Embedding DB) est un format standard pris en charge par un grand nombre de dbs, vous pouvez donc vous connecter à Oracle, db2 etc. en utilisant Oledb. Vous pouvez également utiliser OLEDB directement pour vous connecter à Sql Server, mais l'API est plus compliquée par rapport à une connexion adodb qui est optimisée pour fonctionner avec Sql Server et MS Access.

ADO.Net est une "architecture" de connexion db basée sur .Net. Dans ADO.Net, il existe une bibliothèque pour Oledb - System.Data.OledbClient. Adodb a été remplacé/mis à niveau et ADO.Net utilise désormais la bibliothèque System.Data.SqlClient pour les bases de données/fournisseurs de données MS.

39
Sidharth Panwar
  • ADO est une bibliothèque basée sur COM pour accéder aux bases de données.
  • OleDB et ODBC sont des normes de communication avec les bases de données.
  • ADO utilise OleDB pour parler à toute base de données qui expose un pilote OleDB.
  • Il existe également un pilote OleDB qui peut encapsuler n'importe quel pilote ODBC. Ainsi, ADO peut également communiquer avec n'importe quelle base de données qui expose un pilote ODBC.

  • ADO.NET (a.k.a. System.Data) est une bibliothèque basée sur .NET pour accéder aux bases de données.
  • ADO.NET a une prise en charge intégrée pour SQL Server, OleDB et ODBC
  • Les tiers peuvent exposer leur base de données à ADO.NET en créant une bibliothèque compatible ADO.NET
  • Les tiers peuvent également exposer leur base de données à ADO.NET en offrant un pilote OleDB ou ODBC
8
Jonathan Allen