Драйвер JDBC против моста

Я использовал JDBC в нескольких приложениях для запросов к базам данных Derby, PostgreSQL, а теперь и MySQL. Думаю, я задыхаюсь от базовой терминологии, пытаясь понять, что на самом деле происходит под капотом. Я видел несколько терминов:

  • ODBC
  • Драйвер JDBC
  • Мост
  • Мост JDBC-ODBC

Для каждого из них я приложил все усилия, чтобы немного покопаться и понять, что они такие, что они делают и как они относятся друг к другу. Я считаю, что я прошел около 70% пути, я просто не могу найти ничего (статьи, блоги, документы и т. Д.), Что бы все хорошо связало и подтвердило мои подозрения.

Похоже, что ODBC - это библиотека C (возможно, DLL?), Которую программы могут использовать для связи с системами RDBM (такими как PostgreSQL и MySQL). Все запросы к этим системам поступают и исходят из этой библиотеки в данной системе.

Мост JDBC-ODBC - это компонент Java, который содержит собственный код, который позволяет JDBC взаимодействовать с этой библиотекой ODBC в данной системе.

JDBC - это чистый Java API для запросов к RDBM-системам.

Драйвер JDBC (например, драйвер PostgreSQL-JDBC) - вот где у меня действительно проблемы. Если все системы RDBM соответствуют стандартам RDBMS и могут взаимодействовать с библиотекой ODBC, то почему JDBC нужны разные «драйверы» для каждой из них?

Что это за драйверы? Что они делают? Зачем они нужны? Также были бы чрезвычайно признательны за разъяснения по любым другим утверждениям, которые я сделал здесь. Заранее спасибо!

5
задан IAmYourFaja 11 November 2011 в 18:44
поделиться