ODBC vs ADO
Typisk er softwareapplikationer skrevet i et specifikt programmeringssprog (såsom Java, C osv.), mens databaser accepterer forespørgsler på et andet databasespecifikt sprog (såsom SQL). Derfor, når en softwareapplikation skal have adgang til data i en database, kræves der en grænseflade, der kan oversætte sprog til hinanden (applikation og database). Ellers skal applikationsprogrammører lære og inkorporere databasespecifikke sprog i deres applikationer. ODBC (Open Database Connectivity) og OLE DB (Object Linking and Embedding, Database) er to grænseflader, der løser dette specifikke problem. ODBC er en platform, sprog og operativsystem uafhængig grænseflade, der kan bruges til dette formål. OLE DB er en efterfølger til ODBC. ADO er en indpakning til OLE DB.
Hvad er ODBC?
ODBC er en grænseflade til adgang til databasestyringssystemer (DBMS). ODBC blev udviklet af SQL Access Group i 1992 på et tidspunkt, hvor der ikke var noget standardmedie til at kommunikere mellem en database og en applikation. Det afhænger ikke af et specifikt programmeringssprog eller et databasesystem eller et operativsystem. Programmører kan bruge ODBC-grænsefladen til at skrive applikationer, der kan forespørge data fra enhver database, uanset hvilket miljø den kører på, eller hvilken type DBMS den bruger.
Fordi ODBC-driveren fungerer som en oversætter mellem applikationen og databasen, er ODBC i stand til at opnå sprog- og platformsuafhængighed. Det betyder, at applikationen er fritaget for byrden ved at kende det databasespecifikke sprog. I stedet vil den kun kende og bruge ODBS-syntaksen, og driveren vil oversætte forespørgslen til databasen på et sprog, den kan forstå. Derefter returneres resultaterne i et format, der kan forstås af applikationen. ODBC software API kan bruges med både relationelle og ikke relationelle databasesystemer. En anden stor fordel ved at have ODBC som en universel middleware mellem en applikation og en database er, at hver gang databasespecifikationen ændres, behøver softwaren ikke at blive opdateret. Kun en opdatering af ODBC-driveren ville være tilstrækkelig.
Hvad er ADO?
ADO er en samling af COM-objekter (Component Object Mode), der fungerer som en grænseflade til at få adgang til data i datakilder. ADO blev udviklet i 1996 af Microsoft som en del af Microsoft Data Access Components (MDAC). ADO danner et middleware-lag mellem applikationer skrevet i et eller andet programmeringssprog og OLE DB (en data-API udviklet af Microsoft og efterfølgeren til ODBC). Programmører kan bruge ADO til at få adgang til data uden at kende de underliggende implementeringsdetaljer i databasen. Selvom du ikke behøver at kende nogen SQL for at bruge ADO, kan du helt sikkert udføre SQL-sætninger ved at bruge den.
Hvad er forskellen mellem ODBC og ADO?
ODBC er en åben grænseflade, som kan bruges af enhver applikation til at kommunikere med ethvert databasesystem, mens ADO er en indpakning omkring OLE DB (som er efterfølgeren til ODBC). Hvis databasen ikke understøtter OLE (ikke-OLE-miljøer), er ODBC det bedste valg. Hvis miljøet er ikke-SQL, så skal du bruge ADO (fordi ODBC kun virker med SQL). Hvis interoperable databasekomponenter er påkrævet, skal ADO bruges i stedet for ODBC. Men for 16-bit data er adgang til ODBC den eneste mulighed (ADO understøtter ikke 16-bit). Endelig er ADO det bedste valg til at oprette forbindelse til flere databaser på én gang (ODBC kan kun oprette forbindelse til én database ad gangen).