Что такое ODBC в контексте баз данных?

«Что такое ODBC в контексте баз данных?» — вопрос из категории Базы данных, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

ODBC (Open Database Connectivity) — это стандартизированный программный интерфейс (API) для доступа к системам управления базами данных (СУБД). Он позволяет приложениям взаимодействовать с различными СУБД через единый интерфейс, абстрагируясь от их специфики.

Ключевые принципы:

  • Драйвер-ориентированная архитектура: Для каждой СУБД (MySQL, PostgreSQL, MS SQL Server) требуется свой драйвер ODBC.
  • Использование SQL: Является основным языком для выполнения запросов.
  • Кроссплатформенность: Изначально от Microsoft, но реализован для многих ОС.

Пример устаревшего подключения через JDBC-ODBC мост (удален в Java 8):

// Загрузка драйвера (устаревший способ)
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// Строка подключения к источнику данных с именем "MyDataSource"
Connection conn = DriverManager.getConnection("jdbc:odbc:MyDataSource");

Современная практика: Прямое использование нативных JDBC-драйверов для каждой СУБД, что обеспечивает лучшую производительность и поддержку, чем устаревший мост ODBC.