Как jdbc работает

кто-либо может сказать мне, Как jdbc работает? Как этому удается общаться с DBMS? так как DBMS может быть записан с некоторым другим языком программирования.

11
задан pavlos 26 April 2010 в 20:46
поделиться

7 ответов

Из Википедия :

Драйверы JDBC - это адаптеры на стороне клиента (устанавливаются на клиентском компьютере , а не на сервере), которые преобразуют запросы из программ Java в протокол, понятный СУБД. [править] Типы

Для большинства серверов реляционных баз данных доступны коммерческие и бесплатные драйверы. Эти драйверы относятся к одному из следующих типов:

  • Тип 1, который вызывает собственный код локально доступного драйвера ODBC.
  • Тип 2, который вызывает собственную библиотеку поставщика базы данных на стороне клиента. Затем этот код обращается к базе данных по сети.
  • Тип 3, драйвер чистой Java, который взаимодействует с промежуточным программным обеспечением на стороне сервера, который затем обращается к базе данных
  • Тип 4, драйвер чистой Java, который использует собственный протокол базы данных
7
ответ дан 3 December 2019 в 05:33
поделиться

Большинство систем баз данных поддерживают ODBC (Open Database Connectivity или что-то еще). Это предназначено для того, чтобы приложения (например, Access) могли работать с несколькими реализациями СУБД за счет некоторого снижения производительности. Когда JDBC был впервые выпущен, был драйвер, позволяющий подключаться к провайдеру ODBC. Позже некоторые поставщики предоставили драйверы JDBC, специфичные для их RDMS.

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

2
ответ дан 3 December 2019 в 05:33
поделиться

Со страницы википедии :

Типы

There are commercial and free drivers available for most relational database servers. These drivers fall into one of the following types:
Type 1 that calls native code of the locally available ODBC driver.
Type 2 that calls database vendor native library on a client side. This code then talks to database over network.
Type 3, the pure-java driver that talks with the server-side middleware that then talks to database
Type 4, the pure-java driver that uses database native protocol
1
ответ дан 3 December 2019 в 05:33
поделиться

Небольшое прочтение о четырех типах драйверов JDBC может вас просветить.

1
ответ дан 3 December 2019 в 05:33
поделиться

Из Википедии:

JDBC - это API для языка программирования Java, который определяет, как клиент может получить доступ к базе данных. Он предоставляет методы для запроса и обновления данных в базе данных. JDBC ориентирован на реляционные базы данных.

JDBC был впервые представлен в платформе Java 2, Standard Edition, версия 1.1 (J2SE) вместе с эталонной реализацией моста JDBC-ODBC, обеспечивающей соединения с любым ODBC-доступным источником данных в среде хоста JVM.

Не вдаваясь в подробности, вы можете думать о JDBC как об уровне абстракции, который позволяет вам общаться с разными базами данных. Детали, связанные с реализацией, скрыты от вас, но интерфейс для запросов к базе данных (будь то MySQL, Oracle или что-то еще) тот же.

Это означает, что в будущем, если будет новая база данных, кому-то нужно будет использовать только существующий интерфейс. Имена методов будут такими же, но методы будут содержать код, зависящий от реализации для этой конкретной базы данных. Это распространенный паттерн программной инженерии.

Объект, содержащий код, зависящий от реализации, называется драйвером JDBC . Драйвер JDBC обеспечивает соединение с базой данных, а также реализует специальный протокол для отправки запроса в базу данных и набора результатов обратно клиенту.

1
ответ дан 3 December 2019 в 05:33
поделиться

Связь с базой данных осуществляется драйверами JDBC, которые могут использовать различные стратегии для «взаимодействия» с базой данных (от «перевода» до использования «родного» языка). В зависимости от используемой стратегии драйверы делятся на 4 типа. Типы драйверов технологии JDBC дают хорошее описание каждого из них:

  1. Мост JDBC-ODBC обеспечивает доступ к JDBC API через один или несколько драйверов ODBC . Обратите внимание, что некоторый собственный код ODBC и во многих случаях клиентский код собственной базы данных необходимо загружать на каждый клиентский компьютер , который использует этот тип драйвера . . Следовательно, этот тип драйвера обычно наиболее подходит, когда автоматическая установка и загрузка приложения, использующего технологию Java, не важны. Для получения информации о драйвере моста JDBC-ODBC, предоставляемом Sun, см. Драйвер моста JDBC-ODBC.

  2. Драйвер с собственным API, частично поддерживающий технологию Java, преобразует вызовы JDBC в вызовы клиентского API для Oracle, Sybase, Informix, DB2, или другие СУБД. Обратите внимание, что, как и драйвер моста , этот стиль драйвера требует, чтобы некоторый двоичный код был загружен на каждый клиентский компьютер.

  3. Драйвер сетевого протокола, полностью поддерживающий технологию Java, преобразует вызовы JDBC API в независимый от СУБД сетевой протокол, который затем переводится в протокол СУБД сервером. . Это промежуточное программное обеспечение сетевого сервера может подключать всех своих клиентов на базе технологии Java ко многим различным базам данных. Конкретный используемый протокол зависит от поставщика. В целом, это наиболее гибкая альтернатива JDBC API.Вероятно , что все поставщики этого решения будут предоставлять продукты, подходящие для использования в интрасети . Чтобы эти продукты также поддерживали доступ в Интернет, они должны соответствовать дополнительным требованиям к безопасности, доступу через брандмауэры и т. Д., Предъявляемым Интернетом. . Несколько поставщиков добавляют драйверы на базе технологии JDBC в свои существующие продукты промежуточного слоя для баз данных.

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

Как мы видим, существуют различные стратегии для обеспечения возможности взаимодействия, включая реализацию сетевого протокола , используемого данной базой данных на Java (тип 4). И из-за простоты использования (без дополнительных компонентов для установки, без JNI) и хорошей производительности (теперь они работают так же, как драйверы типа 2), тип 4 на самом деле является наиболее часто используемым в настоящее время.

9
ответ дан 3 December 2019 в 05:33
поделиться

Не могу сказать, что знаю точный ответ на ваш вопрос, но вот некоторая информация, которая поможет.

Вот отличное место для начала:

http://java.sun.com/products/jdbc/overview.html

JDBC API содержит два основных набора интерфейсов: первый - это JDBC API для для разработчиков приложений, а второй - это API-интерфейс драйвера JDBC нижнего уровня для разработчиков драйверов.

Информация для разработчиков драйверов JDBC. В основном существует набор интерфейсов, которые разработчик реализует для создания драйвера JDBC для конкретной СУБД.

http://java.sun.com/products/jdbc/driverdevs.html

Что касается СУБД, написанной на другом языке. Эта СУБД, скорее всего, предоставляет некоторые API (на разных языках и / или в разных форматах), которые позволяют драйверам, таким как JDBC, взаимодействовать с СУБД.

0
ответ дан 3 December 2019 в 05:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: