Логин:   Пароль:






Новости
Рассылки
Форум
Поиск


Java
- Апплеты
- Вопрос-ответ
- Классы
- Примеры
- Руководства
- Статьи
- IDE
- Словарь терминов
- Скачать

Мобильная Java
- Игры
- Примеры
- Статьи
- WAP, WML и пр.

JavaScript
- Вопрос-ответ
- Примеры
- Статьи

Веб-мастеринг
- HTML
- CSS
- SSI

Разминка для ума
Проекты
Книги
Ссылки
Программы
Юмор :)




Rambler's Top100
Rambler's Top100

РуководстваРуководство по JDBC v.1

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

Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 11

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/books/show2b.php on line 30
Узнай о чем ты на самом деле сейчас думаешь тут.


[an error occurred while processing this directive]



Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 91

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/news/worldnews.php on line 95