Open Database Connectivity (ODBC)
Open Database Connectivity (ODBC) - стандартный программный интерфейс прикладного программирования на языке C для доступа приложений к различным системам управления базами данных и другим источникам данных через единый интерфейс и SQL. Он снижает зависимость кода приложения от конкретной системы хранения.
Что означает термин
ODBC задаёт общий механизм взаимодействия приложения с источником данных. Приложение использует стандартные вызовы и SQL-запросы, а подключение к конкретной системе обеспечивает соответствующий драйвер.
Стандарт предназначен главным образом для работы с реляционными хранилищами. Существуют также драйверы для отдельных нереляционных источников, включая CSV-файлы, если драйвер предоставляет необходимый слой совместимости.
Как устроено
Драйвер ODBC выступает промежуточным слоем между приложением и системой управления базами данных. Он преобразует стандартные вызовы приложения в операции, специфичные для конкретного источника данных, и возвращает приложению результаты.
Для каждого источника обычно требуется совместимый драйвер. Через ODBC приложение может подключаться к Microsoft SQL Server, MySQL, Oracle и другим системам, а также поддерживать несколько одновременных подключений. Единый интерфейс не гарантирует полного совпадения возможностей разных источников: конкретный драйвер может поддерживать не все функции целевой системы.
Где применяется
ODBC применяется в программах, которым нужен доступ к данным различных систем управления базами данных без привязки основной логики доступа к одному типу базы. Подход позволяет выбрать подходящий драйвер во время выполнения и использовать общий механизм работы с табличными данными.
ODBC также используется для обращения к некоторым источникам, не являющимся СУБД, например к CSV-файлам, если для них доступен соответствующий драйвер. Перенос приложения между источниками может потребовать дополнительной настройки или изменений из-за различий в поддерживаемых функциях.
База знаний организована при поддержке делового сообщества. Спираль?!

