Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
129.69 Кб
Скачать

11. Архитектура odbc. Преимущества и недостатки использования odbc.

Архитектура ODBC (Open Database Connectivity) представлена четырьмя компонентами:

- Приложение-клиент, выполняющее вызов функций ODBC.

- Менеджер драйверов, загружающий и освобождающий ODBC-драйверы, которые требуются для приложений-клиентов. Менеджер драйверов обрабатывает вызовы ODBC-функций или передает их драйверу.

- ODBC-драйвер, обрабатывающий вызовы SQL-функций, передавая SQL-серверу выполняемый SQL-оператор, а приложению-клиенту - результат выполнения вызванной функции.

- Источник данных, определяемый как конкретная локальная или удаленная база данных.

Основное назначение менеджера драйверов - загрузка драйвера, соответствующего подключаемому источнику данных, и инкапсуляция взаимодействия с различными типами источников данных посредством применения различных ODBC-драйверов.

ODBC-драйверы, принимая вызовы функций, взаимодействуют с приложением-клиентом, выполняя следующие задачи:

- управление коммуникационными протоколами между приложением-клиентом и источником данных;

- управление запросами к СУБД;

- выполнение передачи данных от приложения-клиента в СУБД и из - базы данных в приложение-клиент;

- возвращение приложению-клиенту стандартной информации о выполненном вызове ODBC-функции в виде кода возврата;

- поддерживает работу с курсорами и управляет транзакциями.

Приложение-клиент одновременно может устанавливать соединения с несколькими различными источниками данных, используя разные ODBC-драйверы, а также несколько соединений с одним и тем же источником данных, используя один и тот же ODBC-драйвер.

В настоящее время технология ODBC фактически приобрела значение отраслевого стандарта. Основной причиной ее популярности является присущая ей гибкость, предоставляющая разработчикам следующие преимущества:

- простота разработки приложения;

- технология ODBC позволяет создавать распределенные гетерогенные приложения без учета конкретных СУБД, т.е. приложение становится независимым от СУБД;

- приложения больше не связаны с прикладным API какой-то одной СУБД;

- SQL-операторы могут явно включаться в исходный текст приложения либо динамически создаваться непосредственно во время выполнения программ;

- приложение способно игнорировать особенности используемых протоколов передачи данных;

- данные посылаются и доставляются в том формате, который наиболее удобен для конкретного приложения;

- в настоящее время существуют драйверы ODBC для различных типов самых распространенных СУБД.

Основной недостаток технологии ODBC связан с необходимостью трансляции запросов, что снижает скорость доступа к данным. В системах клиент-сервер он устраняется путем перемещения обработки запроса с компьютера-клиента на компьютер-сервер.

А также:

- увеличение время обработки запросов, что связано с введением дополнительного программного слоя;

- необходимы предварительная инсталляция и настройка ODBC-драйвера (указание драйвера СУБД, сетевого пути к серверу, базы данных и т.д.) на каждом рабочем месте. Параметры этой настройки являются статическими, т.е. приложение изменить их самостоятельно не может;

- предоставляет доступ только к реляционным SQL-ориентированным БД.

Существует 4 важных этапа (шага) процедуры запроса данных через ODBC API.

Шаг 1 - установление соединения. Первый шаг состоит в размещении указателей (handle) среды ODBC, которые выделяют оперативную память под ODBC драйверы и библиотеки. Затем происходит выделение памяти для указателей соединения, и соединение устанавливается.

Шаг 2 - выполнение оператора SQL. Выделяется указатель оператора, локальные переменные связываются со столбцами в SQL-выражении (это необязательное действие), и выражение представляется главному ODBC-драйверу для обработки.

Шаг 3 - извлечение данных. Перед извлечением данных возвращается информация о результирующем наборе, в частности, число столбцов в наборе. Исходя из этого числа, результирующий набор помещается в буфер записей, выполняется цикл его просмотра и содержимое каждого столбца помещается в соответствующую локальную переменную. Этот шаг необязателен, если используется связывание столбцов с локальными переменными.

Шаг 4 - освобождение ресурсов. После того, как данные получены, ресурсы освобождаются путем вызова функций освобождения указателей оператора, соединения и среды. Указатели оператора и соединения могут быть использованы в процессе обработки.