ODBC - Open Database Connectivity это интерфейс доступа к базам данных в среде Windows. Для доступа используются специальные драйвера подобно тому как используются драйвера принтера. Какую бы внутри сложно не был устроен принтер команды обращения к нему и печати одинаковы и каждая программа может печатать на принтере. Разработчик любой базы данных может создать свой драйвер ODBC.
ODBC реализует интерфейс доступа к разным SQL совместимым базам данных.
Клиент | ODBC | Диспечер драйверов ODCB | драйвер БД | БД
Идея заключается в том, что приложение может получать доступ к совершенно разным базам данных не меняя при этом код. Вот в чем преимущества ODBC:
API функции одинаковые и не зависят от поставщика
SQL операторы могут быть сгенерированы на любой стадии при компиляции или выполнении.
Данные принимаются в программу в едином формате.
Для работы с источниками данных используют имена DNS - Data Source Name - именованный источник данных ODBC. Диспетчер использует информацию связанную с именем для доступа к БД. С именем связана следующая информация:
Существует три типа имен DNS:
В первом случае информация хранится в реестре Windows и привязана к конкретному пользователю, во втором случае к конкретному компьютеру и каждый пользователь имеет доступ, в последнем случае инфомация хранится в файле, что облегчает перенос проекта с компьютера на компьютер.
Драйвера могут поддерживать три уровня грамматики SQL минимальная грамматика поддерживается всеми драйверами: