Технология ODBC организации доступа к базам данных
ODBC (Open Database Connectivity) является средством, позволившим унифицировать
организацию взаимодействия с различными базами данных. Для этого доступ к базе данных
осуществляется при помощи специального ODBC драйвера, который транслирует запросы к базе
данных со стандарта языка SQL на язык, поддерживаемый конкретной системой управления
базами данных.
Для установления соединения с базой данных технология ODBC использует ODBC драйверы,
источники данных (data sources), которые позволяют настроится на сеанс конкретного
пользователя системы управления базой данных. Для этого источник содержит системное имя
пользователя и его пароля, а также, при необходимости, другую информацию, требуемую для
присоединения к базе данных.
ODBC драйвер представляет собой динамическую библиотеку (DLL), которая может
использоваться приложением для получения доступа к конкретному источнику данных. Каждой
системе управления базами данных необходим свой ODBC драйвер.
Источник данных включает в себя данные, к которым пользователь хочет иметь доступ , и
информацию, необходимую для того, чтобы получить эти данные.
Система ODBC также включает в себя ODBC менеджер драйверов и транслятор. Менеджер
драйверов - это динамическая библиотека, которая выполняет ряд управляющих и
контролирующих функций, а также предоставляет доступ к ODBC драйверам. Транслятор - это
динамическая библиотека, которая транслируют все данные, циркулирующие между базой данных
и источником данных. Обычно транслятор занимается переводом символьных данных в другую
кодировку, хотя также может совершать кодирование/декодирование или сжатие/обратное
восстановление данных.
Взаимодействие с базой данных осуществляется при помощи набора системных вызовов, которые
по функциональной нагрузке можно разделить на следующие группы:
- Установление соединения с источником данных. Функции данной группы позволяют
произвести необходимую инициализацию переменных для настройки на конкретное соединение,
произвести соединение с ODBC драйвером и получить информацию о параметрах, требуемых для
соединения с базой данных.
- Получение информации об имеющихся ODBC драйверах и источниках данных. Эти функции
используются для получения перечня доступных ODBC драйверов и источников данных, а также
их атрибутов и поддерживаемых драйверами функций и типах данных.
- Установка и контроль установленных значений ODBC драйвера. Функции этой группы
позволяют редактировать атрибуты соединения и конкретного запроса к базе данных.
- Подготовка SQL запроса. Эти функции позволяют подготовить SQL запрос и задать его
параметры, а также определить курсор для данного запроса и установить значения опций,
управляющих поведением курсора.
- Исполнение SQL запроса. Эта группа вызовов позволяет выполнять ранее подготовленные или
вновь создаваемые SQL запросы и управляет передачей параметров в SQL запросы.
- Получение результатов и информации о структуре результирующего множества. В эту группу
объединены системные вызовы, позволяющие получать информацию об атрибутах
результирующего множества, ассоциировать результирующее множество с набором массивов,
организовать циклическое получение результатов по мере их поступление в результирующее
множество и получить параметры диапазона , на который подействовал модифицирующий базу
запрос.
- Получение информации о базе данных. Эти функции позволяют получать данные о структуре
базы данных: о таблицах и их атрибутах, первичных и внешних ключах, наборе хранимых
процедур и общую статистику.
- Завершение выполнения запроса и разрыв соединения.