ODBC vs ADO
Vanligvis skrives programvareapplikasjoner på et spesifikt programmeringsspråk (som Java, C osv.), mens databaser godtar spørringer på et annet databasespesifikt språk (som SQL). Derfor, når en programvareapplikasjon trenger å få tilgang til data i en database, kreves et grensesnitt som kan oversette språk til hverandre (applikasjon og database). Ellers må applikasjonsprogrammerere lære og innlemme databasespesifikke språk i applikasjonene sine. ODBC (Open Database Connectivity) og OLE DB (Object Linking and Embedding, Database) er to grensesnitt som løser dette spesifikke problemet. ODBC er et plattform-, språk- og operativsystemuavhengig grensesnitt som kan brukes til dette formålet. OLE DB er en etterfølger til ODBC. ADO er en innpakning for OLE DB.
Hva er ODBC?
ODBC er et grensesnitt for tilgang til databasestyringssystemer (DBMS). ODBC ble utviklet av SQL Access Group i 1992 på en tid da det ikke fantes standardmedium for å kommunisere mellom en database og en applikasjon. Det er ikke avhengig av et spesifikt programmeringsspråk eller et databasesystem eller et operativsystem. Programmerere kan bruke ODBC-grensesnitt til å skrive applikasjoner som kan søke etter data fra en hvilken som helst database, uavhengig av miljøet den kjører på eller typen DBMS den bruker.
Fordi ODBC-driveren fungerer som en oversetter mellom applikasjonen og databasen, er ODBC i stand til å oppnå språk- og plattformuavhengighet. Dette betyr at applikasjonen slipper byrden med å kunne det databasespesifikke språket. I stedet vil den bare kjenne og bruke ODBS-syntaksen, og driveren vil oversette spørringen til databasen på et språk den kan forstå. Deretter returneres resultatene i et format som kan forstås av applikasjonen. ODBC programvare API kan brukes med både relasjonsdatabasesystemer og ikke-relasjonsdatabasesystemer. En annen stor fordel med å ha ODBC som en universell mellomvare mellom en applikasjon og en database er at hver gang databasespesifikasjonen endres, trenger ikke programvaren å oppdateres. Bare en oppdatering av ODBC-driveren vil være tilstrekkelig.
Hva er ADO?
ADO er en samling av COM-objekter (Component Object Mode) som fungerer som et grensesnitt for tilgang til data i datakilder. ADO ble utviklet i 1996 av Microsoft som en del av Microsoft Data Access Components (MDAC). ADO danner et mellomvarelag mellom applikasjoner skrevet i et eller annet programmeringsspråk og OLE DB (en data-API utviklet av Microsoft og etterfølgeren til ODBC). Programmerere kan bruke ADO for å få tilgang til data uten å kjenne til de underliggende implementeringsdetaljene til databasen. Selv om du ikke trenger å kunne noen SQL for å bruke ADO, kan du sikkert utføre SQL-setninger ved å bruke den.
Hva er forskjellen mellom ODBC og ADO?
ODBC er et åpent grensesnitt, som kan brukes av alle applikasjoner til å kommunisere med ethvert databasesystem, mens ADO er en innpakning rundt OLE DB (som er etterfølgeren til ODBC). Hvis databasen ikke støtter OLE (ikke-OLE-miljøer), er ODBC det beste valget. Hvis miljøet er ikke-SQL, må du bruke ADO (fordi ODBC fungerer kun med SQL). Hvis interoperable databasekomponenter kreves, må ADO brukes i stedet for ODBC. For 16-biters data er imidlertid tilgang til ODBC det eneste alternativet (ADO støtter ikke 16-bit). Til slutt, ADO er det beste valget for å koble til flere databaser samtidig (ODBC kan koble til bare én database om gangen).