Открытый доступ к данным - Open Database Connectivity (ODBC) - это общее определение
языка и набор протоколов. ODBC позволяет клиентскому приложению, написанному, например,
на Access или Visual FoxPro, работать с командами и функциями, поддерживаемыми сервером.
В качестве сервера может выступать любой сервер БД, имеющий драйвер ODBC (MS SQL
Server, Oracle и т. д.), или даже настольная база данных, ведь часто может возникнуть
необходимость в совместной обработке данных, хранящихся в формате Paradox, приложениями,
написанными и на FoxPro и на Delphi. ODBC находится как бы посредине между приложением,
использующем данные, и самими данными, хранящимися в формате, которые мы не можем
обработать напрямую в приложении, и используется как средство коммуникации между двумя
front-end и back-end сторонами.
Для использования ODBC с целью получения данных в сети вам необходимы средства
коммуникации между машиной, на которой находятся данные, и станцией, где они будут
просматриваться, модифицироваться и, возможно, пополняться. Это специальная программа,
которая называется Администратор ODBC на рабочей станции, и драйверы, которые могут
работать как с приложением, так и с данными на сервере. Технология ODBC обеспечивает
возможность хранить данные на разных серверах БД, причем не обязательно в одном формате. В
теории подразумевается, что для этого не надо переписывать ни одной строчки в вашем
пользовательском приложении, работающем на клиент-ской ПЭВМ. На практике так бывает не
всегда, из-за различий в структуре различных уровней построения ODBC.
ODBC определяет минимальный набор SQL команд и набор функций вызова с двумя уровнями
расширений. Технология ODBC включает также механизм для вызова специфических для сервера
возможностей, которые не включены в стандарт ODBC. В целом, это дает возможность
разработчику решать самостоятельно, какой уровень функциональности ему достаточен для
доступа к серверу баз данных. Разработчик выбирает между наименьшей обеспечиваемой ODBC
функциональностью или пытается использовать все возможности сервера.
С минимальным набором функциональности ODBC разработчик может установить связь с
источником данных через стандартный интерфейс загрузки, выполнять SQL команды, выбирать
данные и получать сообщения об ошибках, если предпринятое действие закончилось неудачей.
С расширенной функциональностью ODBC разработчик может использовать дополнительные
возможности стандарта SQL и функции ODBC, чтобы расширить возможности управления
внешней СУБД. Расширения ODBC включают в себя такие дополнительные возможности, как
асинхронное выполнение запросов, нестандартные в среде приложения типы данных
(Timestamp, Binary), прокручиваемые курсоры, SQL команды для скалярных функций, внешние
объединения, хранимые процедуры и способность использовать SQL расширения, характерные
для конкретного сервера БД.
Если вы используете ODBC драйверы для MS SQL Server, разработанные Microsoft в 1996 году,
то вам повезло, так как их расширения предоставляют практически все возможности для
полноценной работы с сервером. Если же вы работаете с сервером, отличным от MS SQL Server,
или с этим сервером, но драйвер ODBC не разработан фирмой Microsoft, то у вас могут
возникнуть трудности ввиду не полной поддержки функциональности сервера драйвером. Если у
вас есть сомнение в функциональности драйвера, то для получения полной и содержательной
информации о нем используйте функции SQLGetInfo(), SQLGetFunction() и
SQLGetStmtOption(). Более подробно о них мы расскажем ниже.
Одна из главных целей создания ODBC - скрыть сложность соединения с сервером и по мере
возможности автоматизировать выполнение многочисленных процедур, связанных с получением
данных. ODBC требует от разработчика только имени источника данных, при этом функции
драйвера, адреса серверов, сети и шлюзы скрыты от пользователя. Возможно, вам как
разработчикам захочется знать все тонкости работы ODBC, но учтите, прямая работа с
функциями драйвера требует более сложного программирования, что не всегда сопровождается
выигрышем в скорости.
Описание основных компонентов ODBC приведено в табл. 8.1.
Таблица 8.1. Основные компоненты ODBC
Компоненты
Описание
Приложение Использует ODBC для связи с
источником данных, отправления и
получения данных. Приложение может
использовать функцию SQLConnect(),
чтобы передать указатель соединения,
имя источника данных, идентификатор
пользователя и пароль Диспетчеру
драйверов.
Диспетчер Поддерживает связь между
converted to PDF by HupBaH9I