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
?
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:
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.