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);