ODBC proti OLEDB
Običajno so programske aplikacije napisane v določenem programskem jeziku (kot je Java, C itd.), medtem ko baze podatkov sprejemajo poizvedbe v drugem jeziku, specifičnem za zbirko podatkov (kot je SQL). Ko mora torej programska aplikacija dostopati do podatkov v zbirki podatkov, je potreben vmesnik, ki lahko prevaja jezike drug v drugega (aplikacijo in zbirko podatkov). V nasprotnem primeru se morajo programerji aplikacij naučiti in v svoje aplikacije vključiti jezike, specifične za bazo podatkov. ODBC (Open Database Connectivity) in OLEDB (Object Linking and Embedding, Database) sta dva vmesnika, ki rešujeta ta specifični problem. ODBC je vmesnik, neodvisen od platforme, jezika in operacijskega sistema, ki se lahko uporablja v ta namen. OLEDB je naslednik ODBC.
Kaj je ODBC?
ODBC je vmesnik za dostop do sistemov za upravljanje baz podatkov (DBMS). ODBC je leta 1992 razvila skupina SQL Access Group, ko še ni bilo standardnega medija za komunikacijo med bazo podatkov in aplikacijo. Ni odvisno od določenega programskega jezika ali sistema baze podatkov ali operacijskega sistema. Programerji lahko uporabljajo vmesnik ODBC za pisanje aplikacij, ki lahko poizvedujejo po podatkih iz katere koli zbirke podatkov, ne glede na okolje, v katerem se izvaja, ali vrsto DBMS, ki ga uporablja.
Ker gonilnik ODBC deluje kot prevajalec med aplikacijo in bazo podatkov, lahko ODBC doseže neodvisnost od jezika in platforme. To pomeni, da je aplikacija razbremenjena poznavanja specifičnega jezika baze podatkov. Namesto tega bo poznal in uporabljal samo sintakso ODBS, gonilnik pa bo prevedel poizvedbo v bazo podatkov v jeziku, ki ga razume. Nato se rezultati vrnejo v obliki, ki jo aplikacija razume. API programske opreme ODBC se lahko uporablja z relacijskimi in nerelacijskimi sistemi baz podatkov. Druga velika prednost uporabe ODBC kot univerzalne vmesne programske opreme med aplikacijo in bazo podatkov je, da vsakič, ko se specifikacija baze podatkov spremeni, programske opreme ni treba posodobiti. Zadostovala bi le posodobitev gonilnika ODBC.
Kaj je OLEDB?
OLEDB je podatkovni API, ki ga je razvil Microsoft. Omogoča dostop do podatkov iz velikega števila virov podatkov. Izvaja se z uporabo Microsoftovega COM (Component Object Mode). OLEDB velja za naslednika ODBC in lahko obdeluje vire podatkov na veliko višji ravni v primerjavi z ODBC. V bistvu OLEDB razširja funkcije ODBC na nerelacijske baze podatkov (npr. objektne baze podatkov in preglednice). To pomeni, da se OLEDB lahko uporablja z bazami podatkov, ki ne uporabljajo SQL. OLEDB je bil razvit kot del Microsoft Data Access Components (MDAC).
Kakšna je razlika med ODBC in OLEDB?
Če programer ne pozna COM, je ODBC boljša možnost. Toda ODBC je dober samo za relacijske baze podatkov, medtem ko je OLEDB primeren tako za relacijske kot za nerelacijske baze podatkov. Če zbirka podatkov ne podpira OLE (okolja brez OLE), je ODBC najboljša izbira. Če okolje ni SQL, potem morate uporabiti OLEDB (ker ODBC deluje samo s SQL). Podobno, če so potrebne interoperabilne komponente baze podatkov, je treba namesto ODBC uporabiti OLEDB. Vendar pa je za 16-bitne podatke dostop do ODBC edina možnost (OLEDB ne podpira 16-bitov). Končno je OLEDB najboljša izbira za povezovanje z več bazami podatkov hkrati (ODBC se lahko poveže samo z eno bazo podatkov hkrati).