Rozdiel medzi ODBC a OLEDB

ODBC vs OLEDB

Softvérové ​​aplikácie sa zvyčajne píšu v špecifickom programovacom jazyku (napríklad Java, C #, atď.), Zatiaľ čo databázy akceptujú dotazy v inom jazyku špecifickom pre databázu (napríklad SQL). Preto, keď softvérová aplikácia potrebuje prístup k údajom v databáze, je potrebné rozhranie, ktoré dokáže prekladať jazyky navzájom (aplikácia a databáza). V opačnom prípade sa musia programátori aplikácií naučiť a začleniť do svojich aplikácií jazyky špecifické pre databázu. ODBC (Open Database Connectivity) a OLEDB (Object Linking and Embedding, Database) sú dve rozhrania, ktoré riešia tento špecifický problém. ODBC je rozhranie nezávislé od platformy, jazyka a operačného systému, ktoré je možné na tento účel použiť. OLEDB je nástupcom ODBC.

Čo je ODBC?

ODBC je rozhranie pre prístup k systémom správy databáz (DBMS). ODBC bol vyvinutý spoločnosťou SQL Access Group v roku 1992 v tom čase, keď neexistovalo štandardné médium na komunikáciu medzi databázou a aplikáciou. Nezávisí od konkrétneho programovacieho jazyka alebo databázového systému alebo operačného systému. Programátori môžu používať rozhranie ODBC na písanie aplikácií, ktoré môžu vyhľadávať údaje z ľubovoľnej databázy, bez ohľadu na prostredie, na ktorom je spustený alebo na typ DBMS, ktorý používa..

Pretože ovládač ODBC funguje ako prekladateľ medzi aplikáciou a databázou, ODBC je schopná dosiahnuť nezávislosť jazyka a platformy. To znamená, že aplikácia je zbavená bremena znalosť jazyka špecifického pre databázu. Namiesto toho bude poznať a používať iba syntax ODBS a ovládač preloží dotaz do databázy v jazyku, ktorému rozumie. Potom sa výsledky vrátia vo formáte, ktorý je zrozumiteľný aplikácii. Softvérové ​​rozhranie ODBC API sa môže používať s relačnými aj nerelačnými databázovými systémami. Ďalšou veľkou výhodou použitia ODBC ako univerzálneho middleware medzi aplikáciou a databázou je to, že zakaždým, keď sa zmení špecifikácia databázy, softvér nemusí byť aktualizovaný. Postačuje iba aktualizácia ovládača ODBC.

Čo je OLEDB?

OLEDB je dátové API vyvinuté spoločnosťou Microsoft. Umožňuje prístup k údajom z veľkého množstva zdrojov údajov. Je implementovaný pomocou COM od spoločnosti Microsoft (Component Object Mode). OLEDB sa považuje za nástupcu ODBC a v porovnaní s ODBC dokáže spracovávať zdroje údajov na oveľa vyššej úrovni. OLEDB v podstate rozširuje vlastnosti ODBC na nerelačné databázy (napr. Objektové databázy a tabuľky). To znamená, že OLEDB sa dá použiť s databázami, ktoré nepoužívajú SQL. OLEDB bol vyvinutý ako súčasť komponentov Microsoft Data Access Components (MDAC).

Aký je rozdiel medzi ODBC a OLEDB?

Ak programátor nie je oboznámený s COM, potom ODBC je lepšia voľba. ODBC je však vhodný iba pre relačné databázy, zatiaľ čo OLEDB je vhodný pre relačné aj nerelačné databázy. Ak databáza nepodporuje OLE (prostredia iné ako OLE), ODBC je najlepšou voľbou. Ak prostredie nie je SQL, musíte použiť OLEDB (pretože ODBC pracuje iba s SQL). Podobne, ak sa vyžadujú interoperabilné komponenty databázy, potom sa namiesto ODBC musí použiť OLEDB. Avšak pre 16-bitové dáta prístup ODBC je jedinou možnosťou (OLEDB nepodporuje 16-bitové). Nakoniec je OLEDB tou najlepšou voľbou pre pripojenie k viacerým databázam naraz (ODBC sa môže pripojiť naraz iba k jednej databáze).