Интерфейс ODBC
ODBC (Open Database Connectivity) – широко распространенный программный интерфейс фирмы Microsoft, удовлетворяющий стандартам ANSI и ISO для интерфейсов обращений к базам данных (Call Level Interface, CLI). Для доступа к данным конкретной СУБД с помощью ODBC необходим ODBC Administrator – приложение, позволяющее определить, какие источники данных доступны для данного компьютера с помощью ODBC, и ODBC-драйвер для доступа к выбранной СУБД. ODBC-драйвер представляет собой динамически загружаемую библиотеку (DLL), которую клиентское приложение использовать для доступа к источнику данных. Для каждой используемой СУБД нужен собственный ODBC-драйвер, так как ODBC-драйверы используют функции клиентских API, разные для различных СУБД.
С помощью ODBC можно манипулировать данными любой СУБД, для которой имеется ODBC-драйвер. Для манипуляции данными можно использовать как вызовы ODBC API, так и другие универсальные механизмы доступа к данным, например OLE DB или ADO, реализующие стандартные функции или классы на основе вызовов ODBC API в драйверах или провайдерах, специально предназначенных для работы с любыми ODBC-источниками.
Спецификация ODBC подразумевает несколько стандартов на ODBC-драйверы (обычно в этом случае используют термины Level 1, Level 2 и так далее). Эти стандарты отличаются различной функциональностью, которая должна быть реализована в таком драйвере. Например, драйверы, соответствующие стандарту Level 1, не обязаны поддерживать работу с хранимыми процедурами, а некоторые ODBC-драйверы не поддерживают двухфазное завершение транзакций (применяемое в том случае, когда требуется согласованное изменение данных в нескольких различных серверных СУБД).
Архитектура ODBC
Архитектура ODBC представлена четырьмя компонентами:
• приложение-клиент, выполняющее вызов функций ODBC;
• менеджер драйверов, загружающий и освобождающий ODBC-драйверы, которые требуются для приложений-клиентов. Менеджер драйверов обрабатывает вызовы ODBC-функций или передает их драйверу;
• ODBC-драйвер, обрабатывающий вызовы SQL-функций, передавая SQL-серверу выполняемый SQL-оператор, а приложению-клиенту - результат выполнения вызванной функции;
• источник данных, определяемый как конкретная локальная или удаленная база данных.
Основная задача менеджера драйверов – загрузка соответствующего подключаемому источнику данных драйвера, а также инкапсуляция взаимодействия с различными типами источников данных посредством применения различных ODBC-драйверов.
ODBC-драйверы, принимая вызовы функций, взаимодействуют с приложением-клиентом, выполняя следующие задачи:
• управление коммуникационными протоколами между приложением-клиентом и источником данных;
• управление запросами к СУБД;
• выполнение передачи данных от приложения-клиента в СУБД и из базы данных в приложение-клиент;
• возвращение приложению-клиенту стандартной информации о выполненном вызове ODBC-функции в виде кода возврата;
• поддерживает работу с курсорами и управляет транзакциями.
Приложение-клиент одновременно может устанавливать соединения с несколькими различными источниками данных, используя разные ODBC-драйверы, а также несколько соединений с одним и тем же источником данных, используя один и тот же ODBC-драйвер.
Добавить комментарий