ODBC срещу ADO
Обикновено софтуерните приложения са написани на определен език за програмиране (като Java, C # и т.н.), докато базите данни приемат заявки на някои други специфични езици на базата данни (като SQL). Следователно, когато софтуерното приложение трябва да има достъп до данни в база данни, е необходим интерфейс, който може да превежда езици помежду си (приложение и база данни). В противен случай програмните програмисти трябва да научат и да включат специфични езици за базата данни в своите приложения. ODBC (Open Database Connectivity) и OLE DB (свързване и вграждане на обекти, база данни) са два интерфейса, които решават този специфичен проблем. ODBC е независим от платформа, език и операционна система интерфейс, който може да се използва за тази цел. OLE DB е приемник на ODBC. ADO е обвивка за OLE DB.
Какво е ODBC?
ODBC е интерфейс за достъп до системи за управление на бази данни (СУБД). ODBC е разработен от SQL Access Group през 1992 г. по време, когато нямаше стандартен носител за комуникация между база данни и приложение. Не зависи от конкретен език за програмиране или система от бази данни или операционна система. Програмистите могат да използват ODBC интерфейс за писане на приложения, които могат да заявяват данни от всяка база данни, независимо от средата, в която се работи или от типа на СУБД, който използва.
Тъй като ODBC драйверът действа като преводач между приложението и базата данни, ODBC е в състояние да постигне езикова и платформана независимост. Това означава, че приложението се освобождава от тежестта на познаването на специфичния език на базата данни. Вместо това той ще знае и използва само синтаксиса на ODBS и драйверът ще преведе заявката в базата данни на език, който може да разбере. След това резултатите се връщат във формат, който може да бъде разбран от приложението. ODBC софтуерният API може да се използва както с релационни, така и с нерелационни системи от бази данни. Друго основно предимство на наличието на ODBC като универсален междинен софтуер между приложение и база данни е, че всеки път, когато спецификацията на базата данни се промени, софтуерът не е необходимо да се актуализира. Само актуализация на драйвера за ODBC би била достатъчна.
Какво е ADO?
ADO е съвкупност от COM (Component Object Mode) обекти, които действат като интерфейс за достъп до данни в източници на данни. ADO е разработен през 1996 г. от Microsoft като част от компонентите на Microsoft за достъп до данни (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 може да се свързва само с една база данни наведнъж).