ODBC срещу OLEDB

Ако знаете какви са, вероятно сте разработчик. Ако не знаете какви са, но искате да знаете - вероятно сте бъдещ разработчик.

Поради техническия характер на това сравнение, в края на статията включих речник на термините. Ако сте нов в този вид неща, може да искате да погледнете първо това.

Нека разгледаме тези термини, за какво се използват и кое препоръчвам.

Определяне на условия

ODBC е кратък за свързване на отворена база данни. Това е интерфейсен стандарт, предназначен за комуникация между различни приложения и операционни системи (OS).

Например, ако сте използвали написана програма за Linux, но искате и аз да работя в (OS). Отговорът ви ще бъде API като ODBC.

В изминалите дни програми, използвани за пренаписване изцяло за нова или различна ОС. Процесът беше неефективен.

ODBC изскочи през 1992 г., за да реши този проблем.

ODBC първоначално е създаден за структуриран език за заявки (SQL). Оттогава тя се разширява, за да обработва повече езици за програмиране.

OLE BD е кратко за свързване на обекти и вграждане на база данни. Това е група от API, предназначени да предоставят достъп до данни на приложението в различни файлови формати. Това включва SQL възможност (като ODBC) и много други езици.

OLE BD беше настроен да наследи ODBC, но нещата се промениха ...

ODBC срещу OLEDB

ODBC първоначално беше фокусиран върху SQL и ако използвате SQL, има смисъл да отидете с ODBC. Очевидният избор беше OLEDB. Но както ще разберете по-късно в статията, последната версия на SQL за поддръжка на OLEDB стартира през 2012 г. И постепенно приключва.

Тази промяна в стратегията на Microsoft свали вниманието си. Много упорити потребители се придържаха към ODBC толкова дълго, така че ходът имаше смисъл. Също така имаше факт, че ODBC се разширява.

Що се отнася до разликата между тези две, е много трудно да се каже, без да става много технически.

В основата си те са различни API за различни източници на данни.

Едното мнение е, че ODBC е по-специфичен и до този момент, когато OLEDB е прекалено родов и свръхкомплексен.

Текуща поддръжка

Стартирането на SQL през 2012 г. беше последното, което поддържаше OLEDB. Това криви вота в подкрепа на ODBC.

ODBC разшири съвместимостта си с използването на драйвери, което е основен движещ фактор в промяната на стратегията от Microsoft.

Разработчиците трябва да се адаптират

Гореспоменатото издание на SQL (denali) дойде със седем години поддръжка за OLEDB. Това означава, че докато пиша това, на разработчиците са останали само две години, за да се адаптират.

Всички разбират, че може да е трудно да се адаптираме, но потребителите на OLEDB няма да имат избор много скоро.

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

Имайте с мен, на път е да станете много технически. За по-лесно четене съдържах информацията в таблица.

Тази таблица е базирана на информация от техническа бяла книга от ftp.sas.com

ODBCOLEDB
Първоначално проектиран за релационни бази данни. (тъй като е променен)Първоначално проектиран за нерелационни и релационни бази данни.
Текуща поддръжка за SQLПоддръжка на SQL void 2019
Компонент базираниПроцедурно-базирани
По-трудно се разполагаПо-лесно за внедряване

Това само за това обобщава. Надявам се сега да разберете по-добре разликата между ODBC и OLEDB. Ако не го направите, предоставих по-долу допълнително четене, както и линк към споменатия по-горе технически документ.

Ако имате опит с използването на тези два API, защо не ни уведомите в коментарите? Получихме ли нещо нередно? Има ли нещо, което бихте могли да добавите за начинаещите?

Ще се радваме да чуем от вас в коментарите.

Терминологичен речник

ODBC: Свързване на отворена база данни

OLE DB: Свързване и вграждане на база данни на обекти

ОС: Операционна система (като Windows)

API: Интерфейс за програмиране на приложения

Релационна база данни: Набор от елементи, подредени в таблици. Елементите с данни могат да бъдат достъпни и повторно сглобени, без да реорганизирате таблиците на базата данни.

Нерелационна база данни: Не следва релационния стандарт. Известна още като NoSQL база данни.

Допълнителна информация

Връзка към (остаряла - вижте по-горе, OLEDB губи SQL функционалност) бяла книга: http://ftp.sas.com/techsup/download/v8papers/odbcdb.pdf

Релационна спрямо нерелационна база данни: https://www.mongodb.com/scale/relational-vs-non-relational-database

Мнения на потребителите относно ODBC срещу OLEDB: https://community.qlik.com/thread/106540

Препратки

  • http://www.maxi-pedia.com/What+is+the+difference+between+ODBC+and+OLEDB
  • http://stackoverflow.com/questions/103167/what-is-the-difference-between-ole-db-and-odbc-data-sources
  • http://sqlmag.com/sql-server/ole-db-or-odbc
  • https://www.sqlservercentral.com/Forums/Topic537592-338-1.aspx