библиотека функций, вызов которых позволяет приложению подключаться к базе данных, выполнять SQL-операторы и извлекать информацию из результирующих наборов данных ;
стандартный метод подключения и регистрации в СУБД;
стандартное представление для данных различных типов;
стандартный набор кодов ошибок;
типовой синтаксис SQL-операторов, построенный на использовании спецификации X/Open и ISO CGI.
Общая архитектура ODBC включает четыре элемента:
Приложение. Этот компонент выполняет обработку данных и вызов функций библиотеки ODBC для отправки SQL-операторов СУБД и выборки возвращаемой СУБД информации.
Менеджер драйверов. Он выполняет загрузку драйверов по требованию приложения.
Драйверы и агенты баз данных. Эти компоненты обрабатывают вызовы функций ODBC и направляют SQL-запросы к конкретным источникам данных, а также возвращают полученные результаты приложению. При необходимости драйверы выполняют модификацию исходного запроса приложения с целью приведения его в соответствие синтаксическим требованиям целевой СУБД.
Источники данных. Содержат те данные, доступ к которым необходим пользователю приложения. Данные сохраняются в БД, контролируемой целевой СУБД, операционной системой, а также сетевой операционной системой, если таковая используется.
Исходя из вышесказанного, можно отметить, что технология ODBC предлагает единый интерфейс доступа к разнообразным базам данных SQL. Язык SQL используется в ней как основной стандарт доступа к данным. Интерфейс ODBC (встроенный в язык Си) обеспечивает высокую степень универсальности: одно приложение может обращаться к разным SQL-совместимым СУБД посредством общего кода. Это позволяет разработчику создавать и распространять приложения "клиент/сервер" без учета особенностей конкретной СУБД, в результате одно и то же приложение получает возможность доступа к базам данных различных СУБД, поддерживающих язык SQL. Подобные функциональные возможности технологии ODBC позволяют разрабатывать приложения СУБД разного типа. Для связи приложений с разнотипными СУБД используются соответствующие ODBC-драйверы. Как уже говорилось, технология ODBC уже фактически принята как отраслевой стандарт.
Технология ODBC предусматривает создание дополнительного уровня между приложением и используемой СУБД. Службы ODBC обеспечивают получение от приложения запросов на выборку информации и перевод их на язык ядра адресуемой базы данных для доступа к хранимой в ней информации.
Основное назначение ODBC состоит в абстрагировании приложения от особенностей ядра серверной базы данных, с которой оно осуществляет взаимодействие, поэтому серверная база данных становится как бы прозрачной для любого клиентского приложения.
Взаимодействие приложения с данными производится с помощью менеджера (диспетчера) драйверов, он подключает необходимый драйвер в соответствии с форматом данных СУБД. Драйвер СУБД, используя сетевые средства, как правило, коммуникационные модули конкретной СУБД, передает SQL-операторы серверу СУБД. Результаты выполнения запросов на сервере пересылаются обратно в приложение.
Достоинство технологии ODBC заключается в простоте разработки приложений, обусловленной высоким уровнем абстрактности интерфейса доступа к данным практически любых существующих типов СУБД. При этом возможно создание источника данных, связанного с любым типом базы данных. С помощью этой технологии можно создавать клиент-серверные приложения, причем средствами персональных СУБД целесообразно разрабатывать клиентскую часть приложения, а средствами SQL Server - серверную.
Основной недостаток технологии ODBC связан с необходимостью трансляции запросов, что снижает скорость доступа к данным. В системах клиент-сервер он устраняется путем перемещения обработки запроса с компьютера-клиента на компьютер-сервер.