Руководство по JDBC v.1
Предыдущий | Содержание | Следующий
10 - Драйвер моста JDBC-ODBC
10.1 Мост JDBC-ODBC
Там, где это возможно, используйте Pure Java JDBC driver вместо моста меду JDBC и ODBC, как как в этот случай не требует дополнительной конфигурации ODBC на клиенте. Кроме того, Вы избавлены от потенциальной возможности краха Java VM из-за ошибки в ODBC.10.1.1 Что такое мост JDBC-ODBC?
Мост JDBC-ODBC - это драйвер JDBC, реализующий операции JDBC путем трансляции их в операции ODBC. С точки зрения ODBC - это обычное приложение. Мост таким образом предоставляет JDBC-интерфейс к любым СУБД, для которых доступен ODBC-драйвер. Мост реализован в виде пакетаsun.jdbc.odbc
и содержит native library для доступа к
ODBC. Этот мост - совместная разработка Intersolv и JavaSoft.
10.1.2 Какая версия ODBC поддерживается?
Мост поддерживает ODBC 2.x. Это та версия, которую многие ODBC-драйверы в настоящее время поддерживают. Мост работает также с драйверами ODBC 3.x.10.1.3 Реализация моста
Мост реализован на Java и использует Java native методы для вызова ODBC.10.1.4 Установка
Мост устанавливается автоматически вместе с JDK как пакетsun.jdbc.odbc
. См. информацию от поставщика Вашего
ODBC-драйвера по установке и конфигурации ODBC. Для моста не требуется
специальное конфигурирование.
10.2 Использование моста
Мост используется для открытия JDBC-соединения с использованием URL с подпротоколомodbc
. См. ниже
примеры URL. Перед установлением соединения должен быть загружен класс драйвера
моста sun.jdbc.odbc.JdbcOdbcDriver
, т.е. либо добавлен в свойство
класса java.lang.System
с именем jdbc.drivers
, либо
явно быть загруженным с помощью загрузчика Java-классов. Явная загрузка
осуществляется следующим фрагментом кода:
Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);При загрузке класса происходит регистрация нового драйвера моста в JDBC.
10.2.1 Использование моста из апплета
Pure Java JDBC-драйверы (тип 4, см. intro.doc.html) хорошо работают с апплетами. Драйвер же моста не очень хорошо работает в апплетах.10.2.2 Многие навигаторы не поддерживают мост
Так как мост - это необязательная компонента JDK, он может быть исключен в веб-навигаторе. И даже если он имеется, то его использовать могут только доверяемые апплеты (т.е. те, которым разрешено писать в файлы). Это сделано с целью сохранить изоляцию апплетов от внешней среды. И даже если апплет доверяемый, необходимо на каждом клиентском месте сконфигурировать ODBC.10.2.6 Что представляет собой JDBC-URL для моста?
Драйвер моста использует подпротоколodbc
. URL-ы для этого подпротокола
имеют следующий вид:
jdbc:odbc:<data-source-name>
[<attribute-name>=<attribute-value>]*
Например:
jdbc:odbc:sybase jdbc:odbc:mydb;UID=me;PWD=secret jdbc:odbc:ora123;Cachesize=300
10.2.7 Отладка
Мост предоставляет возможности расширенной трассировки в случае, когда вDriverManager
разрешена трассировка. Следующая строка кода разрешает трассировку и направляет
ее в стандартный вывод:
java.sql.DriverManager.setLogStream(java.lang.System.out);
10.3 Общие замечания
Мост рассчитан на нереентерабельные драйверы ODBC. Это означает, что мост синхронизирует доступ к этим драйверам. В результате мост предоставляет ограниченную конкурентность пользователей. Это и является основным ограничением моста. В отличие от него, многие драйверы JDBC типа 4 (Pure Java) предоставляют требуемый уровень конкурентности.Предыдущий | Содержание | Следующий