ODBC срещу JDBC
Обикновено софтуерните приложения са написани на конкретен език за програмиране (като Java, C и т.н.), докато базите данни приемат заявки на друг специфичен за базата данни език (като SQL). Следователно, когато софтуерно приложение има нужда от достъп до данни в база данни, е необходим интерфейс, който може да превежда езици един към друг (приложение и база данни). В противен случай приложните програмисти трябва да научат и да включат специфични за базата данни езици в своите приложения. ODBC (Open Database Connectivity) и JDBC (Java DatabBase Connectivity) са два интерфейса, които решават този специфичен проблем. ODBC е независим от платформа, език и операционна система интерфейс, който може да се използва за тази цел. По подобен начин JDBC е API за данни за езика за програмиране Java. Java програмистите могат да използват JDBC към ODBC мост, за да общуват с всяка ODBC съвместима база данни.
Какво е ODBC?
ODBC е интерфейс за достъп до системи за управление на бази данни (СУБД). ODBC е разработен от SQL Access Group през 1992 г. по времето, когато не е имало стандартна среда за комуникация между база данни и приложение. Не зависи от конкретен език за програмиране или система от бази данни или операционна система. Програмистите могат да използват ODBC интерфейс, за да пишат приложения, които могат да заявяват данни от всяка база данни, независимо от средата, в която работи, или вида на СУБД, който използва.
Тъй като ODBC драйверът действа като преводач между приложението и базата данни, ODBC може да постигне независимост от езика и платформата. Това означава, че приложението е освободено от тежестта на познаването на специфичния език на базата данни. Вместо това той ще знае и използва само синтаксиса на ODBS и драйверът ще преведе заявката към базата данни на език, който разбира. След това резултатите се връщат във формат, който може да бъде разбран от приложението. ODBC софтуерният API може да се използва както с релационни, така и с нерелационни системи за бази данни. Друго основно предимство на наличието на ODBC като универсален междинен софтуер между приложение и база данни е, че всеки път, когато спецификацията на базата данни се промени, софтуерът не трябва да се актуализира. Само актуализация на ODBC драйвера би била достатъчна.
Какво е JDBC?
JDBC е API за данни, разработен за езика за програмиране Java. Пуснат е с JDK 1.1 от Sun Microsystems (първоначалните собственици на Java). И текущата му версия е JDBC 4.0 (в момента се разпространява с JAVA SE6). Пакетите Java.sql и javax.sql съдържат JDBC класовете. Това е интерфейс, който помага на клиент за достъп до система от бази данни, като предоставя методи за запитване и актуализиране на данни в базите данни. JDBC е по-подходящ за обектно ориентирани бази данни. Можете да получите достъп до всяка съвместима с ODBC база данни, като използвате моста JDBC към ODBC.
Каква е разликата между ODBC и JDBC?
ODBC е отворен интерфейс, който може да се използва от всяко приложение за комуникация с всяка система от бази данни, докато JDBC е интерфейс, който може да се използва от Java приложения за достъп до бази данни. Следователно, за разлика от JDBC, ODBC е езиково независим. Но чрез използване на мост JDBC-към-ODBC Java приложенията могат също да общуват с всяка ODBC съвместима база данни.