ODBC vs OLEDB
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 OLEDB (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. OLEDB er efterfølgeren til ODBC.
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. 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 OLEDB?
OLEDB er et data API udviklet af Microsoft. Det giver adgang til data fra en lang række datakilder. Det implementeres ved hjælp af Microsofts COM (Component Object Mode). OLEDB betragtes som en efterfølger for ODBC, og den kan håndtere datakilder på et meget højere niveau sammenlignet med ODBC. I det væsentlige udvider OLEDB ODBC-funktionerne til ikke-relationelle databaser (f.eks. Objektdatabaser og regneark). Det betyder, at OLEDB kan bruges med databaser, der ikke bruger SQL. OLEDB blev udviklet som en del af Microsoft Data Access Components (MDAC).
Hvad er forskellen mellem ODBC og OLEDB?
Hvis programmereren ikke kender COM, er ODBC den bedre mulighed. Men ODBC er kun godt til relationelle databaser, mens OLEDB er velegnet til både relationelle og ikke-relationelle databaser. Hvis databasen ikke understøtter OLE (ikke-OLE-miljøer), er ODBC det bedste valg. Hvis miljøet ikke er SQL, skal du bruge OLEDB (fordi ODBC kun fungerer med SQL). Tilsvarende, hvis interoperable databasekomponenter er påkrævet, skal OLEDB bruges i stedet for ODBC. For 16-bit data er adgang til ODBC imidlertid den eneste mulighed (OLEDB understøtter ikke 16-bit). Endelig er OLEDB det bedste valg til at oprette forbindelse til flere databaser på én gang (ODBC kan kun oprette forbindelse til en database ad gangen).