Разлика между ODBC и OLEDB

Разлика между ODBC и OLEDB
Разлика между ODBC и OLEDB

Видео: Разлика между ODBC и OLEDB

Видео: Разлика между ODBC и OLEDB
Видео: MySQL: Урок3 ODBC Часть1 2024, Юли
Anonim

ODBC срещу OLEDB

Обикновено софтуерните приложения са написани на специфичен език за програмиране (като Java, C и т.н.), докато базите данни приемат заявки на друг специфичен за базата данни език (като SQL). Следователно, когато софтуерно приложение има нужда от достъп до данни в база данни, е необходим интерфейс, който може да превежда езици един към друг (приложение и база данни). В противен случай приложните програмисти трябва да научат и да включат специфични за базата данни езици в своите приложения. ODBC (Open Database Connectivity) и OLEDB (Object Linking and Embedding, Database) са два интерфейса, които решават този специфичен проблем. ODBC е независим от платформа, език и операционна система интерфейс, който може да се използва за тази цел. OLEDB е наследник на ODBC.

Какво е ODBC?

ODBC е интерфейс за достъп до системи за управление на бази данни (СУБД). ODBC е разработен от SQL Access Group през 1992 г. по времето, когато не е имало стандартна среда за комуникация между база данни и приложение. Не зависи от конкретен език за програмиране или система от бази данни или операционна система. Програмистите могат да използват ODBC интерфейс, за да пишат приложения, които могат да заявяват данни от всяка база данни, независимо от средата, в която работи, или вида на СУБД, който използва.

Тъй като ODBC драйверът действа като преводач между приложението и базата данни, ODBC може да постигне независимост от езика и платформата. Това означава, че приложението е освободено от тежестта на познаването на специфичния език на базата данни. Вместо това той ще знае и използва само синтаксиса на ODBS и драйверът ще преведе заявката към базата данни на език, който разбира. След това резултатите се връщат във формат, който може да бъде разбран от приложението. ODBC софтуерният API може да се използва както с релационни, така и с нерелационни системи за бази данни. Друго основно предимство на наличието на ODBC като универсален междинен софтуер между приложение и база данни е, че всеки път, когато спецификацията на базата данни се промени, софтуерът не трябва да се актуализира. Само актуализация на ODBC драйвера би била достатъчна.

Какво е OLEDB?

OLEDB е API за данни, разработен от Microsoft. Позволява достъп до данни от голям набор от източници на данни. Реализира се с помощта на COM (Component Object Mode) на Microsoft. OLEDB се счита за наследник на ODBC и може да обработва източници на данни на много по-високо ниво в сравнение с ODBC. По същество OLEDB разширява функциите на ODBC към нерелационни бази данни (напр. обектни бази данни и електронни таблици). Това означава, че OLEDB може да се използва с бази данни, които не използват SQL. OLEDB е разработен като част от Microsoft Data Access Components (MDAC).

Каква е разликата между ODBC и OLEDB?

Ако програмистът не е запознат с COM, тогава ODBC е по-добрият вариант. Но ODBC е добър само за релационни бази данни, докато OLEDB е подходящ както за релационни, така и за нерелационни бази данни. Ако базата данни не поддържа OLE (не-OLE среди), тогава ODBC е най-добрият избор. Ако средата не е SQL, тогава трябва да използвате OLEDB (тъй като ODBC работи само със SQL). По същия начин, ако са необходими оперативно съвместими компоненти на база данни, тогава трябва да се използва OLEDB вместо ODBC. За 16-битови данни обаче достъпът до ODBC е единствената опция (OLEDB не поддържа 16-бита). И накрая, OLEDB е най-добрият избор за свързване към множество бази данни наведнъж (ODBC може да се свързва само с една база данни наведнъж).

Препоръчано: