Contents | Prev | Next | Главная страница JDBCTM Guide: Getting Started


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) предоставляют требуемый уровень конкурентности.



Содержание | Предыдущий | Следующий