ODBC vs OLEDB
Uobičajeno, softverske aplikacije su napisane na određenom programskom jeziku (kao što je Java, C, itd.), dok baze podataka prihvataju upite na nekom drugom jeziku specifičnom za bazu podataka (kao što je SQL). Stoga, kada softverska aplikacija treba da pristupi podacima u bazi podataka, potreban je interfejs koji može prevoditi jezike jedni drugima (aplikacija i baza podataka). Inače, aplikativni programeri moraju naučiti i ugraditi specifične jezike za baze podataka u svoje aplikacije. ODBC (Open Database Connectivity) i OLEDB (Object Linking and Embedding, Database) su dva interfejsa koja rešavaju ovaj specifičan problem. ODBC je sučelje nezavisno od platforme, jezika i operativnog sistema koje se može koristiti u tu svrhu. OLEDB je nasljednik ODBC-a.
Šta je ODBC?
ODBC je interfejs za pristup sistemima za upravljanje bazama podataka (DBMS). ODBC je razvila SQL Access Group 1992. godine u vrijeme kada nije postojao standardni medij za komunikaciju između baze podataka i aplikacije. Ne zavisi od specifičnog programskog jezika ili sistema baze podataka ili operativnog sistema. Programeri mogu koristiti ODBC sučelje za pisanje aplikacija koje mogu tražiti podatke iz bilo koje baze podataka, bez obzira na okruženje u kojem radi ili tip DBMS-a koji koristi.
Budući da ODBC drajver deluje kao prevodilac između aplikacije i baze podataka, ODBC je u stanju da postigne nezavisnost od jezika i platforme. To znači da je aplikacija oslobođena tereta poznavanja jezika specifičnog za bazu podataka. Umjesto toga, on će znati i koristiti samo ODBS sintaksu, a upravljački program će prevesti upit u bazu podataka na jeziku koji može razumjeti. Zatim se rezultati vraćaju u formatu koji aplikacija može razumjeti. ODBC softverski API se može koristiti i sa relacionim i nerelacionim sistemima baza podataka. Još jedna velika prednost postojanja ODBC-a kao univerzalnog međuvera između aplikacije i baze podataka je da svaki put kada se specifikacija baze podataka promijeni, softver ne mora biti ažuriran. Dovoljno bi bilo samo ažuriranje ODBC drajvera.
Šta je OLEDB?
OLEDB je podatkovni API koji je razvio Microsoft. Omogućava pristup podacima iz velikog raspona izvora podataka. Implementira se pomoću Microsoftovog COM (Component Object Mode). OLEDB se smatra nasljednikom ODBC-a i može upravljati izvorima podataka na mnogo višem nivou u odnosu na ODBC. U suštini, OLEDB proširuje ODBC karakteristike na nerelacione baze podataka (npr. baze podataka objekata i proračunske tabele). To znači da se OLEDB može koristiti sa bazama podataka koje ne koriste SQL. OLEDB je razvijen kao dio Microsoft Data Access Components (MDAC).
Koja je razlika između ODBC-a i OLEDB-a?
Ako programer nije upoznat sa COM-om, onda je ODBC bolja opcija. Ali, ODBC je dobar samo za relacione baze podataka, dok je OLEDB pogodan i za relacione i za nerelacione baze podataka. Ako baza podataka ne podržava OLE (ne-OLE okruženja) onda je ODBC najbolji izbor. Ako okruženje nije SQL, onda morate koristiti OLEDB (jer ODBC radi samo sa SQL-om). Slično, ako su potrebne interoperabilne komponente baze podataka, onda se OLEDB mora koristiti umjesto ODBC-a. Međutim, za 16-bitne podatke pristup ODBC-u je jedina opcija (OLEDB ne podržava 16-bitne). Konačno, OLEDB je najbolji izbor za povezivanje sa više baza podataka odjednom (ODBC se može povezati samo na jednu bazu podataka istovremeno).