Типы JDBC-драйверов

Все JDBC-драйверы можно разделить на следующие классы:

  1. драйвер, клиентская часть которого реализована на Java частично. В этом случае обычно используется динамически подключаемая библиотека, транслирующая вызовы Java в какие-либо иные. Данный тип драйверов преобразует вызовы Java в клиентский прикладной интерфейс непосредственно для конкретной СУБД. Подобно всем драйверам моста, драйверы этого типа предполагают загрузку некоего двоичного кода на каждый клиентский компьютер;

  2. драйвер, клиентская часть которого полностью реализована на Java. Серверная часть драйвера (если существует) может быть написана на другом языке;

  3. драйвер, реализованный полностью на Java с сетевым протоколом, преобразует вызовы JDBC в независящий от СУБД сетевой протокол, который далее на сервере преобразуется в протокол СУБД. Такое сетевое серверное промежуточное программное обеспечение связывает всех клиентов Java с различными БД; конкретный протокол СУБД зависит от её производителя. Как правило, этот драйвер является наиболее гибким вариантом JDBC. В драйверах подобного рода иногда используют драйверы ODBC на сервере для реального взаимодействия с СУБД;

  4. драйвер, у которого клиентская и серверная часть (если существует) полностью реализованы на Java. Драйвер, реализованный полностью на Java с оригинальным протоколом, непосредственно преобразует вызовы JDBC в сетевой протокол, используемый данной СУБД. Такой подход позволяет направлять вызовы с клиентских приложений непосредственно на сервер СУБД. Данное решение имеет практический смысл, если конфигурация клиентских приложений контролируется достаточно жестко, как это бывает в типичных приложениях для Internet. Поскольку большинство протоколов для БД нестандартны, драйверы подобного типа должны поставлять сами производители СУБД для этих БД.

Помимо JDBC-драйверов, обеспечивающих доступ к конкретной БД, существуют еще универсальные JDBC-драйверы, которые могут взаимодействовать с несколькими БД с помощью других стандартных интерфейсов. Например, мост от JDBC к ODBC обеспечивает доступ к БД с помощью драйверов ODBC. Для его работы на каждом клиентском компьютере, кроме самого драйвера JDBC-ODBC, необходимо еще наличие соответствующего драйвера ODBC для БД, к которой производится обращение.

Описываемый JDBC-драйвер СУБД ЛИНТЕР принадлежит к четвертому классу. Все интерфейсы стандарта реализованы на Java и не требуют присутствия на клиентской стороне машинозависимого кода на каждом клиентском компьютере. Серверная часть драйвера написана на языке программирования С. Она транслирует вызовы из промежуточного сетевого протокола в вызовы СУБД и отправляет назад клиентскому приложению результаты выполнения вызовов.