ODBC срещу ADO
Обикновено софтуерните приложения се пишат на специфичен език за програмиране (като Java, C # и др.), Докато базите данни приемат заявки на друг език, специфичен за база данни (като SQL). Следователно, когато дадено софтуерно приложение се нуждае от достъп до данни в база данни, се изисква интерфейс, който може да превежда езици един към друг (приложение и база данни). В противен случай програмистите на приложения трябва да научат и да включат специфични езици на база данни в своите приложения. ODBC (Open Database Connectivity) и OLE DB (Object Linking and Embedding, Database) са два интерфейса, които решават този специфичен проблем. ODBC е независим от платформа, език и операционна система интерфейс, който може да се използва за тази цел. OLE DB е наследник на ODBC. ADO е обвивка за OLE DB.
Какво е ODBC?
ODBC е интерфейс за достъп до системи за управление на бази данни (СУБД). ODBC е разработен от SQL Access Group през 1992 г., когато не е имало стандартен носител за комуникация между база данни и приложение. Това не зависи от конкретен език за програмиране, система от бази данни или операционна система. Програмистите могат да използват ODBC интерфейс за писане на приложения, които могат да правят заявки за данни от всяка база данни, независимо от средата, в която тя работи, или от типа СУБД, която използва.
Тъй като ODBC драйверът действа като преводач между приложението и базата данни, ODBC може да постигне независимост от езика и платформата. Това означава, че приложението е освободено от тежестта на познаване на езика на базата данни. Вместо това той ще знае и използва само синтаксиса на ODBS и драйверът ще преведе заявката в базата данни на език, който може да разбере. След това резултатите се връщат във формат, който може да бъде разбран от приложението. API на ODBC софтуер може да се използва както с релационни, така и с нерелационни системи за бази данни. Друго голямо предимство на наличието на ODBC като универсален междинен софтуер между приложение и база данни е, че всеки път, когато се променя спецификацията на базата данни, софтуерът не трябва да се актуализира. Само актуализация на ODBC драйвера би била достатъчна.
Какво е ADO?
ADO е колекция от COM (Component Object Mode) обекти, които действат като интерфейс за достъп до данни в източници на данни. ADO е разработен през 1996 г. от Microsoft като част от Microsoft Data Access Components (MDAC). ADO формира междинен слой между приложения, написани на някакъв програмен език и OLE DB (API за данни, разработен от Microsoft и наследник на ODBC). Програмистите могат да използват ADO за достъп до данни, без да знаят основните подробности за изпълнението на базата данни. Въпреки че не се изисква да знаете какъвто и да е SQL, за да използвате ADO, със сигурност можете да изпълните SQL изрази, използвайки го.
Каква е разликата между ODBC и ADO?
ODBC е отворен интерфейс, който може да се използва от всяко приложение за комуникация с всяка система от бази данни, докато ADO е обвивка около OLE DB (която е наследник на ODBC). Ако базата данни не поддържа OLE (не-OLE среди), тогава ODBC е най-добрият избор. Ако средата не е SQL, тогава трябва да използвате ADO (защото ODBC работи само с SQL). Ако се изискват оперативно съвместими компоненти на базата данни, тогава трябва да се използва ADO вместо ODBC. Обаче за 16-битовите данни достъпът до ODBC е единствената опция (ADO не поддържа 16-битова). И накрая, ADO е най-добрият избор за свързване към множество бази данни наведнъж (ODBC може да се свързва само с една база данни наведнъж).