ODBC vs ADO
Vanligvis er programvareapplikasjoner skrevet på et bestemt programmeringsspråk (for eksempel Java, C #, etc.), mens databaser godtar spørsmål på et annet databasespesifikt språk (for eksempel SQL). Derfor, når en programvare trenger 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 av ODBC. ADO er en innpakning for OLE DB.
Hva er ODBC?
ODBC er et grensesnitt for tilgang til databasesystemer (DBMS). ODBC ble utviklet av SQL Access Group i 1992 om gangen, da det ikke var noe standardmedium for å kommunisere mellom en database og en applikasjon. Det avhenger ikke av et bestemt programmeringsspråk eller et databasesystem eller et operativsystem. Programmerere kan bruke ODBC-grensesnitt for å skrive applikasjoner som kan spørre om data fra hvilken som helst database, uavhengig av miljøet den kjører på eller hvilken type DBMS de bruker.
Fordi ODBC-driver fungerer som en oversetter mellom applikasjonen og databasen, er ODBC i stand til å oppnå språk- og plattformuavhengighet. Dette betyr at applikasjonen er lettet over byrden ved å kjenne 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 software API kan brukes med både relasjonelle og ikke relasjonelle databasesystemer. En annen stor fordel med å ha ODBC som en universal mellomvare mellom et program og en database, er at programvaren ikke trenger å oppdateres hver gang databasespesifikasjonen endres. Bare en oppdatering til ODBC-driveren vil være tilstrekkelig.
Hva er ADO?
ADO er en samling av COM (Component Object Mode) -objekter 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 på noe programmeringsspråk og OLE DB (et data-API utviklet av Microsoft og etterfølgeren til ODBC). Programmører kan bruke ADO for å få tilgang til data uten å vite de underliggende implementeringsdetaljene i databasen. Selv om det ikke kreves at du kjenner noen SQL for å bruke ADO, kan du absolutt 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 hvilket som helst databasesystem, mens ADO er en wrapper 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 ikke er SQL, må du bruke ADO (fordi ODBC bare fungerer med SQL). Hvis det kreves interoperable databaskomponenter, må ADO brukes i stedet for ODBC. Imidlertid er tilgang til ODBC det eneste alternativet for 16-bits data (ADO støtter ikke 16-bit). Til slutt er ADO det beste valget for å koble til flere databaser samtidig (ODBC kan bare koble til en database om gangen).