ODBC vs OLEDB
Vanligvis skrives programvareprogrammer i et bestemt programmeringsspråk (for eksempel Java, C #, etc.), mens databaser aksepterer spørringer i et annet databasespesifikt språk (for eksempel SQL). Derfor, når et program må ha tilgang til data i en database, kreves et grensesnitt som kan oversette språk til hverandre (applikasjon og database). Ellers må applikasjonsprogrammører lære og innlemme databasespesifikke språk innenfor deres applikasjoner. ODBC (Open Database Connectivity) og OLEDB (Object Linking and Embedding, Database) er to grensesnitt som løser dette spesifikke problemet. ODBC er et plattform, språk og operativsystem uavhengig grensesnitt som kan brukes til dette formålet. OLEDB er etterfølgeren til ODBC.
Hva er ODBC?
ODBC er et grensesnitt for tilgang til databasebehandlingssystemer (DBMS). ODBC ble utviklet av SQL Access Group i 1992 om gangen var det ingen standard medium å kommunisere mellom en database og et program. Det er ikke avhengig av et bestemt programmeringsspråk eller et databasesystem eller et operativsystem. Programmører kan bruke ODBC-grensesnitt til å skrive programmer som kan spørre data fra en hvilken som helst database, uavhengig av miljøet det kjører på eller hvilken type DBMS det bruker.
Fordi ODBC-driveren fungerer som oversetter mellom applikasjonen og databasen, er ODBC i stand til å oppnå språk og plattform uavhengighet. Dette betyr at søknaden er lettet over byrden av å kjenne databasespesifikt språk. I stedet vil det bare vite og bruke ODBS-syntaksen, og sjåføren vil oversette spørringen til databasen på et språk det kan forstå. Deretter returneres resultatene i et format som kan forstås av søknaden. ODBC-programvare API kan brukes med både relasjonelle og ikke-relasjonelle databasesystemer. En annen viktig fordel ved å ha ODBC som en universell mellomvare mellom en applikasjon og en database er at hver gang databasespesifikasjonen endres, trenger ikke programvaren å bli oppdatert. Bare en oppdatering til ODBC-driveren vil være tilstrekkelig.
Hva er OLEDB?
OLEDB er en data API utviklet av Microsoft. Det gir tilgang til data fra et stort utvalg av datakilder. Det implementeres ved hjelp av Microsofts COM (Component Object Mode). OLEDB regnes som en etterfølger til ODBC, og den kan håndtere datakilder på et mye høyere nivå sammenlignet med ODBC. I hovedsak utvider OLEDB ODBC-funksjonene til ikke-relasjonelle databaser (for eksempel objektdatabaser og regneark). Det betyr at OLEDB kan brukes med databaser som ikke bruker SQL. OLEDB ble utviklet som en del av Microsoft Data Access Components (MDAC).
Hva er forskjellen mellom ODBC og OLEDB?
Hvis programmereren ikke er kjent med COM, er ODBC det beste alternativet. Men ODBC er bare bra for relasjonsdatabaser, mens OLEDB passer for både relasjonelle og ikke-relasjonelle databaser. Hvis databasen ikke støtter OLE (ikke-OLE-miljøer), er ODBC det beste valget. Hvis miljøet ikke er SQL, må du bruke OLEDB (fordi ODBC fungerer bare med SQL). På samme måte, hvis interoperable databasekomponenter kreves, må OLEDB brukes i stedet for ODBC. For 16-biters datatilgang er ODBC imidlertid det eneste alternativet (OLEDB støtter ikke 16-bit). Endelig er OLEDB det beste valget for å koble til flere databaser samtidig (ODBC kan bare koble til én database om gangen).