ODBC vs ADO
Typisk er softwareapplikationer skrevet på et specifikt programmeringssprog (såsom Java, C # osv.), Mens databaser accepterer forespørgsler på et andet databasespecifikt sprog (såsom SQL). Derfor, når et softwareapplikation har brug for at få adgang til data i en database, kræves en grænseflade, der kan oversætte sprog til hinanden (applikation og database). Ellers skal applikationsprogrammerere 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 operativsystemuafhæ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 standardmedium 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 spørge data fra enhver database, uanset det miljø, den kører på, eller den type DBMS, den bruger.
Fordi ODBC-driver fungerer som en oversætter mellem applikationen og databasen, er ODBC i stand til at opnå sprog- og platformuafhængighed. Dette betyder, at applikationen er fritaget for byrden ved at kende det databasespecifikke sprog. I stedet kender den kun og bruger ODBS-syntaksen, og driveren oversætter 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 universal middleware mellem en applikation og en database er, at softwaren ikke behøver at blive opdateret hver gang databasespecifikationen ændres. Kun en opdatering til ODBC-driveren vil være tilstrækkelig.
Hvad er ADO?
ADO er en samling af COM-objekter (Component Object Mode), der fungerer som en grænseflade til adgang til data i datakilder. ADO blev udviklet i 1996 af Microsoft som en del af Microsoft Data Access Components (MDAC). ADO danner et mellemvarelag mellem applikationer skrevet på 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 implementeringsoplysninger i databasen. Selvom du ikke er forpligtet til at kende nogen SQL til at bruge ADO, kan du bestemt udføre SQL-sætninger ved hjælp af det.
Hvad er forskellen mellem ODBC og ADO?
ODBC er en åben grænseflade, som kan bruges af ethvert program 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 (miljøer, der ikke er OLE), er ODBC det bedste valg. Hvis miljøet ikke er SQL, skal du bruge ADO (fordi ODBC kun fungerer med SQL). Hvis der kræves interoperable databaskomponenter, skal ADO bruges i stedet for ODBC. For 16-bit data er dog 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 en database ad gangen).