ODBC vs OLEDB
Tipies word sagtewaretoepassings in 'n spesifieke programmeertaal geskryf (soos Java, C, ens.), terwyl databasisse navrae in 'n ander databasis-spesifieke taal (soos SQL) aanvaar. Wanneer 'n sagtewaretoepassing dus toegang tot data in 'n databasis moet kry, word 'n koppelvlak vereis wat tale na mekaar (toepassing en databasis) kan vertaal. Andersins moet toepassingprogrammeerders databasisspesifieke tale in hul toepassings aanleer en inkorporeer. ODBC (Open Database Connectivity) en OLEDB (Object Linking and Embedding, Database) is twee koppelvlakke wat hierdie spesifieke probleem oplos. ODBC is 'n platform, taal en bedryfstelsel onafhanklike koppelvlak wat vir hierdie doel gebruik kan word. OLEDB is die opvolger van ODBC.
Wat is ODBC?
ODBC is 'n koppelvlak vir toegang tot databasisbestuurstelsels (DBMS). ODBC is in 1992 deur SQL Access Group ontwikkel op 'n tydstip dat daar geen standaardmedium was om tussen 'n databasis en 'n toepassing te kommunikeer nie. Dit hang nie af van 'n spesifieke programmeertaal of 'n databasisstelsel of 'n bedryfstelsel nie. Programmeerders kan ODBC-koppelvlak gebruik om toepassings te skryf wat data vanaf enige databasis kan navraag doen, ongeag die omgewing waarop dit loop of die tipe DBBS wat dit gebruik.
Omdat ODBC-bestuurder optree as 'n vertaler tussen die toepassing en die databasis, is ODBC in staat om die taal- en platformonafhanklikheid te bereik. Dit beteken dat die toepassing onthef word van die las om die databasis spesifieke taal te ken. In plaas daarvan sal dit net die ODBS-sintaksis ken en gebruik en die bestuurder sal die navraag na die databasis vertaal in 'n taal wat dit kan verstaan. Dan word die resultate teruggestuur in 'n formaat wat deur die toepassing verstaan kan word. ODBC sagteware API kan gebruik word met beide relasionele en nie relasionele databasis stelsels. Nog 'n groot voordeel van ODBC as 'n universele middelware tussen 'n toepassing en 'n databasis is dat elke keer as die databasisspesifikasie verander, die sagteware nie opgedateer hoef te word nie. Slegs 'n opdatering van die ODBC-bestuurder sal voldoende wees.
Wat is OLEDB?
OLEDB is 'n data-API wat deur Microsoft ontwikkel is. Dit laat toegang tot data van 'n groot verskeidenheid databronne toe. Dit word geïmplementeer met behulp van Microsoft se COM (Component Object Mode). OLEDB word beskou as 'n opvolger van ODBC, en dit kan databronne op 'n baie hoër vlak hanteer in vergelyking met ODBC. In wese brei OLEDB die ODBC-kenmerke uit na nie-relasionele databasisse (bv. objekdatabasisse en sigblaaie). Dit beteken dat OLEDB gebruik kan word met databasisse wat nie SQL gebruik nie. OLEDB is ontwikkel as deel van die Microsoft Data Access Components (MDAC).
Wat is die verskil tussen ODBC en OLEDB?
As die programmeerder nie vertroud is met COM nie, dan is ODBC die beter opsie. Maar ODBC is net goed vir relasionele databasisse, terwyl OLEDB geskik is vir beide relasionele en nie-relasionele databasisse. As die databasis nie OLE (nie-OLE-omgewings) ondersteun nie, is ODBC die beste keuse. As die omgewing nie-SQL is, dan moet jy OLEDB gebruik (omdat ODBC net met SQL werk). Net so, as interoperabele databasiskomponente vereis word, moet OLEDB gebruik word in plaas van ODBC. Vir 16-bis data is toegang tot ODBC egter die enigste opsie (OLEDB ondersteun nie 16-bis nie). Ten slotte, OLEDB is die beste keuse om aan verskeie databasisse gelyktydig te koppel (ODBC kan net aan een databasis op 'n slag koppel).