Forskel mellem ODBC og OLEDB

Anonim

ODBC vs OLEDB

Typisk skrives softwareprogrammer på et bestemt programmeringssprog (f.eks. Java, C #, osv.), mens databaser accepterer forespørgsler i et andet databasespecifikt sprog (som f.eks. SQL). Derfor, når et softwareprogram 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 indarbejde databasespecifikke sprog inden for 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 operativsystem uafhængig grænseflade, 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 ad gangen var der ingen standard medium til at kommunikere mellem en database og en applikation. Det afhænger ikke af et bestemt programmeringssprog eller et databasesystem eller et operativsystem. Programmører kan bruge ODBC interface til at skrive applikationer, der kan forespørge data fra en database, uanset hvilket miljø det kører på eller hvilken type DBMS det bruger.

ODBC driver som en oversætter mellem applikationen og databasen, og ODBC er i stand til at opnå sprog og platform uafhængighed. Det betyder, at applikationen er lettet over byrden af ​​at kende databasespecifikke sprog. I stedet vil det kun kende og bruge ODBS-syntaksen, og chaufføren vil oversætte forespørgslen til databasen på et sprog, det kan forstå. Derefter returneres resultaterne i et format, der kan forstås af ansøgningen. ODBC software API kan bruges med både relationelle og ikke-relationelle databasesystemer. En anden stor fordel ved at have ODBC som et universelt middleware mellem en applikation og en database er, at softwaren ikke skal opdateres, hver gang databasespecifikationen ændres. Kun en opdatering til ODBC-driveren ville være tilstrækkelig.

Hvad er OLEDB?

OLEDB er en 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 anses for at være en efterfølger til ODBC, og den kan håndtere datakilder på et meget højere niveau i forhold til 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 er bekendt med COM, er ODBC det bedre valg. Men ODBC er kun godt for relationelle databaser, mens OLEDB er egnet 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 skal OLEDB bruges i stedet for ODBC, hvis interoperable databasekomponenter er påkrævet. For 16-bits dataadgang er ODBC imidlertid den eneste mulighed (OLEDB understøtter ikke 16-bit). Endelig er OLEDB det bedste valg til at forbinde til flere databaser på en gang (ODBC kan kun oprette forbindelse til én database ad gangen).