ODBC против JDBC
Open Database Connectivity (также известная как ODBC) — это функция, которая предоставляет стандартный программный метод API для компьютеров, использующих системы управления базами данных (или СУБД). В основе ее создания лежала идея сделать функцию независимой от языков программирования, систем баз данных и операционных систем.
Java Database Connectivity (также известная как JDBC) — это API, который используется специально для языка программирования Java. Он используется для определения того, как клиент может получить доступ к определенной базе данных. Он также предоставляет методы для запроса и обновления данных в этой конкретной базе данных. JDBC API ориентирован именно на реляционные базы данных. Первоначально JDBC API был представлен как часть платформы Java 2 Platform, SE версии 1.1. В сочетании с эталонной реализацией моста JDBC к ODBC, этот API позволял устанавливать соединения с любым источником данных, доступным через ODBC, в среде хоста JVM.
Реализации, найденные в ODBC, работают во множестве операционных систем. Эти системы включают, но не ограничиваются Microsoft Windows, Unix, Linux и Mac OS X. Существуют буквально сотни драйверов ODBC — среди них драйверы для корпоративных СУБД (Oracle, DB2, Microsoft SQL Server, Sybase, IBM Lotus Domino и OpenLink Virtuoso). Некоторые из этих драйверов также встречаются в настольных продуктах баз данных, таких как FileMaker и Microsoft Access.
JDBC делает возможным существование нескольких реализаций и их использование одним и тем же приложением для каждой реализации. Этот API предлагает механизм для динамической загрузки необходимых пакетов Java и регистрации этих пакетов в менеджере драйверов JDBC. Менеджер драйверов используется как средство для создания множества соединений — по сути, действуя как фабрика соединений — для создания соединений типа JDBC. Эти соединения поддерживают создание и выполнение утверждений. Эти утверждения могут обновляться (такие утверждения, как SQL-утверждения CREATE, INSERT, UPDATE и DELETE). Эти операторы могут быть также операторами запроса (например, оператор SELECT). Хранимые процедуры могут быть вызваны через соединение JDBC. Существует три определенных класса, в которых эти операторы могут быть представлены в JDBC: Statement, PreparedStatement и CallableStatement. Операторы, которые считаются операторами обновления, возвращают счетчик обновлений. Этот счетчик показывает, сколько строк было затронуто в базе данных. Выражения запросов возвращают набор результатов строк JDBC — то есть это выражение, которое вызывается для того, чтобы пройтись по набору результатов.
Резюме:
1. ODBC — это функция, обеспечивающая стандартный метод программного API для компьютеров, использующих СУБД; JDBC — это API, используемый для языка программирования Java, чтобы определить, как клиент может получить доступ к базе данных.
2. Реализации ODBC запускаются через несколько операционных систем; реализации JDBC могут существовать и использоваться одним и тем же приложением.