ODBC vs ADO
Normalment, les aplicacions de programari s'escriuen en un llenguatge de programació específic (com ara Java, C, etc.), mentre que les bases de dades accepten consultes en algun altre llenguatge específic de bases de dades (com ara SQL). Per tant, quan una aplicació de programari necessita accedir a les dades d'una base de dades, es requereix una interfície que pugui traduir idiomes entre si (aplicació i base de dades). En cas contrari, els programadors d'aplicacions han d'aprendre i incorporar llenguatges específics de bases de dades a les seves aplicacions. ODBC (Open Database Connectivity) i OLE DB (Object Linking and Embedding, Database) són dues interfícies que resolen aquest problema específic. ODBC és una interfície independent de la plataforma, l'idioma i el sistema operatiu que es pot utilitzar per a aquest propòsit. OLE DB és un successor d'ODBC. ADO és un embolcall per a OLE DB.
Què és ODBC?
ODBC és una interfície per accedir als sistemes de gestió de bases de dades (DBMS). ODBC va ser desenvolupat per SQL Access Group l'any 1992 en un moment en què no hi havia un mitjà estàndard per comunicar-se entre una base de dades i una aplicació. No depèn d'un llenguatge de programació específic ni d'un sistema de bases de dades o d'un sistema operatiu. Els programadors poden utilitzar la interfície ODBC per escriure aplicacions que poden consultar dades de qualsevol base de dades, independentment de l'entorn en què s'executa o del tipus de SGBD que utilitzi.
Com que el controlador ODBC actua com a traductor entre l'aplicació i la base de dades, ODBC és capaç d'aconseguir la independència de l'idioma i la plataforma. Això significa que l'aplicació s'allibera de la càrrega de conèixer l'idioma específic de la base de dades. En canvi, només coneixerà i utilitzarà la sintaxi ODBS i el controlador traduirà la consulta a la base de dades en un idioma que pugui entendre. A continuació, es retornen els resultats en un format que l'aplicació pugui entendre. L'API del programari ODBC es pot utilitzar amb sistemes de bases de dades relacionals i no relacionals. Un altre avantatge important de tenir ODBC com a programari intermedi universal entre una aplicació i una base de dades és que cada vegada que canvia l'especificació de la base de dades, no cal actualitzar el programari. Només n'hi hauria prou amb una actualització del controlador ODBC.
Què és ADO?
ADO és una col·lecció d'objectes COM (Component Object Mode) que actuen com a interfície per accedir a les dades en fonts de dades. ADO va ser desenvolupat l'any 1996 per Microsoft com a part dels components de Microsoft Data Access (MDAC). ADO forma una capa de middleware entre aplicacions escrites en algun llenguatge de programació i OLE DB (una API de dades desenvolupada per Microsoft i successora d'ODBC). Els programadors poden utilitzar ADO per accedir a les dades sense conèixer els detalls d'implementació subjacents de la base de dades. Tot i que no cal que conegueu cap SQL per utilitzar ADO, podeu executar sentències SQL utilitzant-lo.
Quina diferència hi ha entre ODBC i ADO?
ODBC és una interfície oberta, que pot utilitzar qualsevol aplicació per comunicar-se amb qualsevol sistema de base de dades, mentre que ADO és un embolcall al voltant d'OLE DB (que és el successor d'ODBC). Si la base de dades no admet OLE (entorns no OLE), ODBC és la millor opció. Si l'entorn no és SQL, haureu d'utilitzar ADO (perquè ODBC només funciona amb SQL). Si es requereixen components de base de dades interoperables, s'ha d'utilitzar ADO en lloc d'ODBC. Tanmateix, per a dades de 16 bits, accedir a ODBC és l'única opció (ADO no admet 16 bits). Finalment, ADO és la millor opció per connectar-se a diverses bases de dades alhora (ODBC només es pot connectar a una base de dades alhora).