Поделиться через


Что такое ODBC?

Многие неправильные представления об ODBC существуют в вычислительном мире. Для конечного пользователя это значок в панель управления Microsoft Windows. Программист приложений — это библиотека, содержащая подпрограммы доступа к данным. Для многих других это ответ на все проблемы доступа к базе данных, которые когда-либо представляли.

В первую очередь ODBC — это спецификация API базы данных. Этот API не зависит от любой субД или операционной системы; Хотя в этом руководстве используется C, API ODBC не зависит от языка. API ODBC основан на спецификациях CLI из Open Group и ISO/IEC. ODBC 3.x полностью реализует обе эти спецификации - более ранние версии ODBC были основаны на предварительных версиях этих спецификаций, но не полностью реализовали их - и добавляет функции, часто необходимые разработчикам приложений баз данных на основе экрана, таких как прокручиваемые курсоры.

Функции в API ODBC реализуются разработчиками драйверов, относящихся к СУБД. Приложения вызывают функции в этих драйверах для доступа к данным независимо от СУБД. Диспетчер драйверов управляет взаимодействием между приложениями и драйверами.

Хотя корпорация Майкрософт предоставляет диспетчер драйверов для компьютеров под управлением Microsoft Windows 95 и более поздних версий, написала несколько драйверов ODBC и вызывает функции ODBC из некоторых своих приложений, любой пользователь может писать приложения и драйверы ODBC. На самом деле подавляющее большинство приложений и драйверов ODBC, доступных сегодня, написаны компаниями, отличными от Корпорации Майкрософт. Кроме того, драйверы и приложения ODBC существуют на macOS и различных платформах UNIX.

Чтобы помочь разработчикам приложений и драйверов, корпорация Майкрософт предлагает пакет SDK для программного обеспечения ODBC для компьютеров под управлением Windows 95 и более поздних версий, который предоставляет диспетчер драйверов, библиотеку DLL установщика, средства тестирования и примеры приложений. Корпорация Майкрософт объединилась с Visigenic Software, чтобы перенести эти пакеты SDK на Macintosh и различные платформы UNIX.

Важно понимать, что ODBC предназначен для предоставления возможностей базы данных, а не дополнения их. Таким образом, средства записи приложений не должны ожидать, что использование ODBC внезапно преобразует простую базу данных в полнофункциональный реляционный ядро СУБД. Не требуется, чтобы записи драйверов реализовали функциональные возможности, не найденные в базовой базе данных. Исключением из этого является то, что разработчикам, которые записывают драйверы, которые напрямую обращаются к данным файлов (например, данным в Xbase-файле), требуются для записи ядра СУБД, поддерживающего по крайней мере минимальные функциональные возможности SQL. Другим исключением является то, что компонент ODBC пакета SDK для Windows, ранее включенный в пакет SDK для компонентов доступа к данным (MDAC), предоставляет библиотеку курсоров, которая имитирует прокручиваемые курсоры для драйверов, реализующих определенный уровень функциональности.

Приложения, использующие ODBC, отвечают за любые функции между базами данных. Например, ODBC не является разнородным ядром соединения, а также не обработчиком распределенных транзакций. Тем не менее, так как она является независимой от СУБД, ее можно использовать для создания таких межбазовых средств.