Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курс лекций СБД.doc
Скачиваний:
23
Добавлен:
13.11.2019
Размер:
1.94 Mб
Скачать
      1. Задание имени источника данных odbc

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

Есть три типа источников данных: файловые, системные и пользовательские.

Файловый источник данных (file data source) – это файл, который может совместно использоваться пользователями базы данных. Единственное требование состоит в том, чтобы пользователи имели один и тот же драйвер ODBC и одинаковый уровень доступа к базе данных. Файловый источник данных может распространяться среди потенциальных пользователей посредством электронной почты или другими способами.

Системный источник данных (system data source) – это источник данных, являющийся локальным для отдельного компьютера. Системный источник данных может использовать операционная система и любой пользователь этой системы, обладающий соответствующими полномочиями.

Пользовательский источник данных (user data source) доступен только для пользователя, который его сделал.

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

На рис. 6.5.6 показан процесс создания пользовательского источника данных с помощью Администратора источников данных ODBS, который имеется в Windows. Сначала пользователь выбирает драйвер для базы данных (в примере – Microsoft Access).Причем, возможно наличие двух драйверов – один от Microsoft, другой – от производителя программы-источника данных. Эти драйверы могут иметь различные возможности, и пользователю следует обратиться к документации на каждый из них, чтобы определить, какой из них лучше подходит для его приложения. Далее пользователь выбирает базу данных. Источник данных для работы с этой базой назван Labs.

Рис. 65.6. Создание пользовательского источника данных

      1. OLE DB и ADO

Стандарт ODBC имел большой успех, поскольку чрезвычайно упростил некоторые задачи, связанные с разработкой баз данных. Но у него есть существенный недостаток, для преодоления которого Microsoft разработала стандарт OLE DB. На рис. 6.5.7 представлены отношения между OLE DB, ODBC и другими типами источников данных.

Рис. 6.5.7. Назначение OLE DB

OLE DB предоставляет объектно-ориентированный интерфейс к источникам данных почти любого типа. Производители СУБД могут заключать фрагменты «родных» библиотек в объекты OLE DB, благодаря чему функции этих библиотек становятся доступными через интерфейс OLE DB. Кроме того, OLE DB можно использовать как интерфейс к источникам данных ODBC. Наконец, в OLE DB предусмотрена поддержка и нереляционных источников данных.

OLE DB – это то, на чем основывается доступ к данным в мире Microsoft. OLE DB является реализацией разработанного Microsoft объектного стандарта OLE. OLE-объекты являются СОМ-объектами и поддерживают все требуемые для таких объектов интерфейсы (Component Object Model – определяет стандартный механизм, с помощью которого одна часть программного обеспечения предоставляет свои сервисы другой). В сущности, OLE DB разбивает всю совокупность возможностей и функций СУБД на отдельные фрагменты – СОМ-объекты с узкой специализацией. Одни объекты выполняют запросы, другие производят обновления, третьи создают структурные элементы базы данных – таблицы, индексы и представления, четвертые занимаются управлением транзакциями – например, устанавливают оптимистическую блокировку.

Это свойство OLE DB позволяет преодолеть крупный недостаток ODBC. Чтобы продукт мог считаться соответствующим стандарту ODBC, производитель должен создать драйвер почти для всех функций СУБД. Это сложная задача, требующая значительных начальных вложений. Используя же OLE DB, производитель СУБД может реализовывать их функции в продукте частями. Можно, к примеру, реализовать только обработчик запросов, создать для него интерфейс OLE DB. Позже производитель может добавить другие объекты и интерфейсы OLE DB, расширяющие функциональность продукта.

Основные цели, преследовавшиеся при создании OLE DB:

  1. Создание объектных интерфейсов для элементов функциональности СУБД – запрос, обновление, управление транзакциями.

  2. Увеличение гибкости:

    • дать потребителям данных возможность использовать только те объекты, которые им нужны;

    • дать поставщикам данных возможность открывать доступ к элементам функциональ­ности СУБД;

    • обеспечить возможность доступа к функциональности с помощью множества раз­личных интерфейсов;

    • сделать эти интерфейсы стандартизированными и расширяемыми.

  1. Создание объектных интерфейсов для любых типов данных: реляционных баз данных (через ODBC или собственные интерфейсы СУБД), нереляционных баз данных, систем обработки файлов (VSAM и др.), электронной почты и многого другого.

  2. Реализация такой стратегии, при которой данные не должны преобразовываться в другие форматы или перемещаться из того места, где они находятся.

Как уже говорилось, OLE DB разбивает функциональность СУБД на объектные кусочки. Это разделение обеспечивает большую гибкость как для потребителей данных – пользователей функциональности OLE DB, так и для поставщиков данных – производителей продуктов, которые предоставляют доступ к функциональности OLE DB. Потребители данных имеют дело только с теми объектами и функциями, которые им нужны, поэтому устройство для чтения базы данных может иметь весьма малые габариты. В отличие от случая с ODBC, поставщикам данных требуется реализовать только некоторый фрагмент функциональности СУБД. Это разделение означает также, что поставщики данных могут предоставлять доступ к возможностям и функциям СУБД через множество различных интерфейсов.

Так как OLE DB представляет собой объектно-ориентированный интерфейс, он особенно хорошо подходит для использования с объектно-ориентированными языками программирования, такими как С++. Однако многие разработчики приложений баз данных программируют на Visual Basic или на сценарных языках, таких как VBScript и JScript. Чтобы и им предоставить доступ к ODBC, компания Microsoft разработала ADO (Active Data Objects) как оболочку для объектов OLE DB (рис. 6.5.8). ADO позволяет обращаться к функциональности OLE DB практически из любого языка.

ADO (Active Data Objects) – это простая объектная модель, которую могут использовать потребители данных для обработки любых данных OLE DB. К ней можно обращаться из сценарных языков, таких как JScript и VBScript, а также из Visual Basic, Java, C# и С++.

Рис. 6.5.8. Назначение ADO

Благодаря абстракциям OLE DB и объектной структуре, объектная модель ADO и ее интерфейсы остаются одними и теми же независимо от типа обрабатываемых данных. Таким образом, разработчик, изучающий ADO применительно к обработке реляционных баз данных, сможет использовать эти знания и для обработки папки с сообщениями электронной почты.

Таким образом, основные характеристики ADO:

  • Простая объектная модель для потребителей данных OLE DB;

  • Может использоваться из Jscript, VBScript, Visual Basic, Java, C# и С++;

  • Единый стандарт Microsoft, для доступа к данным;

  • Объекты доступа к данным остаются одними и теми же для всех типов данных OLE DB.