ODBC vs ADO
Typisk skrives softwareapplikationer 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 en softwareapplikation skal have adgang til data i en database, kræves 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 operativsystemuafhængig interface, der kan bruges til dette formål. OLE DB er en efterfølger for 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 ad gangen, 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. Programmerere kan bruge ODBC-interface til at skrive applikationer, der kan forespørge data fra en hvilken som helst database, uanset hvilket miljø den kører på, eller hvilken type DBMS den bruger.
Da ODBC-driver fungerer som en oversætter mellem applikationen og databasen, er ODBC i stand til at opnå sprog- og platformens uafhængighed. Dette betyder, at applikationen frigøres byrden ved at kende det databasespecifikke sprog. I stedet vil den kun kende og bruge ODBS-syntaks, 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 mellemvare mellem en applikation og en database er, at hver gang databasespecifikationen ændres, behøver softwaren ikke opdateres. Kun en opdatering til ODBC-driveren ville være tilstrækkelig.
Hvad er ADO?
ADO er en samling af COM (Component Object Mode) -objekter, 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, der er skrevet på et hvilket som helst programmeringssprog og OLE DB (et data API udviklet af Microsoft og efterfølgeren til ODBC). Programmerere kan bruge ADO til at få adgang til data uden at kende databasens underliggende implementeringsdetaljer. Selvom du ikke er forpligtet til at kende nogen SQL for at bruge ADO, kan du helt sikkert 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 (ikke-OLE-miljøer), er ODBC det bedste valg. Hvis miljøet ikke er SQL, skal du bruge ADO (fordi ODBC kun fungerer med SQL). Hvis interoperable databasekomponenter er påkrævet, skal ADO bruges i stedet for ODBC. Imidlertid er adgang til ODBC for 16-bit data 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).