Я заметил, что JDBC имеет различные Драйверы как:
Почему они завоевывали репутацию как Тип 1, Тип 2 и т.д.? Есть ли какая-либо логика?
Номер типа говорит о том, как драйвер фактически взаимодействует с базой данных.
В целом (просто по совпадению), чем выше номер типа, тем лучше работает драйвер JDBC.
http://en.wikipedia.org/wiki/JDBC_driver
Кажется, это не логика, просто лень, я полагаю!
ОБНОВЛЕНИЕ: вопрос был в том, есть ли какая-то логика для вызова этого типа 1, типа 2 и т. Д. Вместо вызова типа яблоко, тип апельсина :). Я понимаю, что типы драйверов разные и работают / не работают в зависимости от обстоятельств, но почему имя «Тип 1» вместо «Тип JDBC-ODBC» или «Тип JO» не имеет причины AFAIK.
Цифры не очень информативны. Мне более полезно думать об этом в следующих строках:
Я никогда не мог вспомнить цифры, но когда кто-то сказал: «Мы используем драйвер типа 4», я мог задать два вопроса «да-нет», чтобы понять, о чем они говорят.
Короче говоря, каждый Тип использует свою стратегию и лучше работает для разных типов реализаций. Не думаю, что это была лень. Я думаю, это было для того, чтобы иметь возможность более легко и четко выбрать, какой тип лучше всего подходит для вашей конкретной ситуации.
Я полагаю, что это восходит к оригинальному (1997) вступлению Sun к JDBC :
Драйверы JDBC, о которых мы знаем в настоящее время, обычно вписываются в один из {{ 1}} четыре категории:
Мост JDBC-ODBC плюс драйвер ODBC: продукт моста JavaSoft обеспечивает доступ JDBC через драйверы ODBC. Обратите внимание, что двоичный код ODBC и в {{1} } во многих случаях код клиента базы данных должен быть загружен на каждый клиентский компьютер, который использует этот драйвер. В результате этот тип драйвера наиболее подходит для корпоративной сети, где установка клиента не является серьезной проблемой, или для написанного кода сервера приложений в Java в трехуровневой архитектуре.
Драйвер Native-API частично-Java: этот тип драйвера преобразует вызовы JDBC в вызовы клиентского API для Oracle, Sybase, Informix, DB2 или других СУБД. Обратите внимание, что, как и драйвер моста , этот стиль драйвера требует , чтобы некоторый двоичный код был загружен на каждый клиентский компьютер.
Чистый драйвер Java JDBC-Net: этот драйвер переводит вызовы JDBC в независимый от СУБД сетевой протокол, который затем переводится в протокол СУБД сервером. Это промежуточное программное обеспечение сетевого сервера способно подключать своих клиентов на чистой Java к множеству различных баз данных. Конкретный используемый протокол зависит от поставщика. В общем, это наиболее гибкая альтернатива JDBC. Вероятно , что все поставщики этого решения будут предоставлять продукты , подходящие для использования в интрасети. Чтобы эти продукты также поддерживали доступ в Интернет, они должны соответствовать дополнительным требованиям безопасности, доступу через брандмауэры и т. Д. {{1} } четвертое, что навязывает Интернет.
Чистый драйвер Java с собственным протоколом: драйверы этого типа преобразуют вызовы JDBC в сетевой протокол , напрямую используемый СУБД. Это позволяет напрямую обращаться с клиентского компьютера к серверу СУБД и является отличным решением для доступа к интрасети. Поскольку многие из этих протоколов являются проприетарными, поставщики баз данных сами будут основным источником. У некоторых поставщиков баз данных они находятся в разработке. .
Ожидается, что в конечном итоге категории драйверов 3 и 4 станут предпочтительным способом доступа к базам данных из JDBC. Категории драйверов 1 и 2 являются промежуточными решениями, для которых прямые чистые драйверы Java еще не доступны. Возможны варианты категорий 1 и 2 (не показаны в таблице ниже), для которых требуется соединитель, , но, как правило, это менее желательные решения. Категории 3 и 4 предлагают все преимущества Java, включая автоматическую установку (например, загрузку драйвера JDBC с помощью апплета , который его использует).
Обратите внимание, что они на самом деле не называли их Типами 1, 2, 3 и 4, а скорее называли мост JDBC-ODBC плюс драйвер ODBC, драйвер Native-API частично-Java, драйвер JDBC-Net чистой Java и Native-протокол. чистый драйвер Java. Каждое имя было громким, поэтому люди сразу же начали называть их по номеру.