Скачать 0.65 Mb.
|
СОДЕРЖАНИЕ Предисловие 4 Информационные технологии прямого доступа к данным. 5 Архитектура Universal Data Access 7 Эволюция технологий доступа к данным 9 Data Access Objects (DAO) 10 Remote Data Objects (RDO) 11 ActiveX Data Objects (ADO) 11 Open Database Connectivity (ODBC) 12 Object Linking and Embedding DataBase (OLE DB) 16 ActiveX Data Objects .NET (ADO .NET) 21 Объекты прямого доступа к данным DAO 26 Объекты прямого доступа к данным ADO 34 Использование объектов прямого доступа к данным. 38 Data Access Objects - DAO. 38 Задание. 38 Последовательность выполнения задания для технологии DAO 39 Дополнительные сведения 39 ActiveX Data Objects - ADO. 44 Задание. 44 Последовательность выполнения задания для технологии ADO 44 Дополнительные сведения 45 Контрольные вопросы 52 Источники информации. 52 Предисловие В пособии рассматриваются объектные модели архитектуры Universal Data Access (UDA) – стратегии доступа к данным, которую Microsoft реализует в семействе своих операционных систем. С точки зрения разработчика прикладного программного обеспечения интерес представляет единообразный (универсальный) способ работы с разнообразными источниками данных. Высокоуровневые интерфейсы, входящие в состав UDA, предоставляют эту возможность разработчикам приложений. Структура содержания и изложение материала данного пособия подчинены целям обучения. Вначале приводятся общие сведения о наиболее известных методах доступа к источникам данных. Затем следует более детальное рассмотрение технологий, на базе которых студенты выполняют лабораторный практикум. Приведенные в пособии последовательность выполнения лабораторных работ и объем заданий на их выполнение определяют минимум для прохождения практикума. Вместе с тем, нет никаких ограничений на самостоятельный выбор студентом стратегии использования компонентов UDA. При этом следует учитывать то обстоятельство, что реализуемая функциональность методов доступа определяется, в том числе, техническими возможностями и временными ограничениями на выполнение лабораторных работ. Основная задача лабораторного практикума состоит в получении временных оценок методов доступа с целью выявления их относительных преимуществ и выдачи рекомендаций по использованию. Понятно, что результаты тестирования являются достаточно условными. И абсолютные, и относительные характеристики могут существенно меняться в зависимости от конкретных условий: оборудования, системного ПО, квалификации разработчика и, конечно, структуры и содержимого базы данных. Но подобные оценки представляют интерес хотя бы потому, что заставляют разработчика внимательнее изучить возможности повышения эффективности своих приложений, в том числе проведя соответствующее исследование разных методов. Технологии доступа к базам данных постоянно развиваются. Пока осваивается одна технология, уже появляется другая. Только одно остается неизменным: доступ к внешним источникам данных играет все более важную роль при разработке приложений. Знание технологий и эволюционных изменений, которые они вызывают, поможет найти оптимальную технологию для текущей задачи и сделать обоснованный выбор в случае необходимых изменений. Информационные технологии прямого доступа к данным В современных условиях развития средств разработки и эксплуатации информационных систем (ИС) проектировщику или программисту ИС приходится решать задачу выбора методов и средств доступа к источникам внешних данных, иначе - задачу выбора технологии доступа к БД. Это - одна из стратегических задач, от решения которой зависит как производительность системы и способность её к реализации дополнительной функциональности, так и совместимость с другими программными платформами и технологиями. Существует несколько способов решения задачи обеспечения доступа к данным, в процессе которого приходится разбираться во всем многообразии технологий: ODBC, DAO, RDO, OLE DB, ADO и RDS, BDE, ADO.NET. Изучение технологий доступа к данным в контексте их эволюции упрощает проблему выбора, поскольку появляется возможность сравнительного анализа и последующей оптимизации выбранной технологии для своих целей. Как отмечено выше, взаимодействие приложения с БД может быть организовано различными способами. Первоначально преобладали способы, основанные на API (Application Programming Interface) библиотек СУБД (позже, дополнительно, и СOМ объектов), входящих в состав клиентского программного обеспечения, устанавливаемого на компьютерах пользователей. Как правило, клиентское программное обеспечение включало в себя и собственную среду разработки прикладного программного обеспечения. Это приводило к тому, что замена СУБД требовала значительной переделки кода приложения. Как результат - в настоящее время востребованными становятся универсальные механизмы доступа к данным, обеспечивающие для клиентского приложения стандартный набор общих функций, классов, сервисов, необходимых для работы с различными СУБД. Универсальные механизмы доступа к данным обычно реализованы в виде библиотек и дополнительных модулей (драйверов или провайдеров). Библиотеки содержат определенный стандартный набор классов, методов, параметров и обеспечивают стандартный интерфейс доступа к данным. Дополнительные модули реализуют непосредственное обращение к функциям API конкретных СУБД. Причем эти дополнительные модули устанавливаются исходя из текущей потребности, а изменения кода приложения не требуется. Вместе с тем, универсальные методы не лишены недостатков (снижение быстродействия, поставка соответствующих драйверов и их настройка), но все это не идет в сравнение с их основным достоинством - универсальностью. Нельзя забывать и о том, что они значительно увеличивают производительность труда программиста, так как отпадает необходимость в изучении специфических интерфейсов и специфических средств разработки. Среди универсальных методов доступа к данным наиболее распространены ( http://wladm.narod.ru/C_Sharp/bdbegin.html ):
ODBC (Microsoft) - технология взаимодействия с реляционными базами данных. Для обеспечения доступа к БД необходимы клиентская часть СУБД, ODBC-драйвер для доступа к этой СУБД (или только драйвер для некоторых СУБД) и соответствующая настройка ODBC на компьютере (обычно имя драйвера, имя пользователя, имя базы, пароль доступа и указание некоторых параметров драйвера). Драйвер при выполнении приложения загружается в адресное пространство приложения и используется для доступа к БД. Для каждой СУБД используется собственный ODBC-драйвер. ODBC API стандартизован. В визуальных средах разработки теперь достаточно помещения на форму соответствующего компонента, указания источника данных ODBC, имени таблицы, и связь с базой данных установлена или через клиентскую часть СУБД, или через соответствующий драйвер. OLE DB (Microsoft) - технология работы с разнообразными источниками данных (в отличие от ODBC - где работа производится только с реляционными БД) на основе COM-интерфейса (Component Object Model). OLE DB определяет набор COM-интерфейсов, включающих различные сервисы однотипного доступа к различным данным (в том числе и к нереляционным БД, например, к папкам систем электронной почты или папкам файловой системы), обеспечивая при этом поддержку работы с наборами данных и иерархическими наборами записей, подключенными непостоянно к сети. Для доступа к БД требуется установка OLE DB провайдера для СУБД (DLL СУБД загружается при выполнении приложения в его адресное пространство). Кроме того, фирмой разработан специальный провайдер (Microsoft OLE DB Provider for ODBC Drivers), который может работать не через API клиентской части СУБД, а через интерфейс ODBC API. ADO (Microsoft) - своеобразная надстройка над OLE DB (использует библиотеки OLE DB), представляющая собой дополнительный набор библиотек, содержащих COM-объекты, реализующие интерфейс доступа к данным. Этот набор библиотек первоначально включал две объектные технологии Microsoft: Data Access Objects (DAO) и Remote Data Objects (RDO) - два различных механизма доступа к локальным и удаленным базам данных соответственно. Как ответ на потребность создания технологии, обеспечивающей единый подход при работе с различными БД и единый интерфейс для доступа к локальным и удаленными данным, появилась технология ADO. ADO является более дружественной оболочкой базовой технологии OLE DB и позволяет работать с любыми базами данных. BDE (Borland) - универсальный механизм доступа к данным, базирующийся на двух группах библиотек-драйверов (SQL Links - для серверных СУБД и ODBS Links - для серверных и автономных СУБД). BDE поддержан на уровне компонент в визуальных средах разработки фирмы Borland. Реализация механизма позволяет приложению обращаться к функциям клиентского API конкретной СУБД или через ODBC API. Для доступа к базе данных с помощью BDE на компьютере должны быть установлены библиотеки BDE общего назначения (обычно устанавливаются вместе со средой разработки), а также BDE-драйвер для данной СУБД. ADO.NET (Microsoft) - технология работы с базами данных в three-tier (многоярусной архитектуре), когда соединение с базой данных устанавливается лишь на период выполнения операций с БД (как правило, кратковременных). Ее появление связано с необходимостью разрешения противоречия между ростом числа обращений к БД (особенно в БД интернет-серверов) и невозможностью базы данных поддерживать неограниченное число активных соединений. ADO.NET призвана решить эти и другие проблемы и вместе с тем сохранить удобство и простоту программирования. ADO.NET в ее современном виде - иерархический набор объектов, построенный в соответствии с новой идеологией базовых библиотек классов и смены протоколов COM на .NET. Архитектура Universal Data Access Перечисленные выше универсальные методы доступа к внешним данным интегрированы в модели Universal Data Access (UDA). В соответствии с утверждением Microsoft, архитектура UDA представляет собой концепцию обеспечения доступа ко всем типам данных в масштабах предприятия. Она обеспечивает высокопроизводительный доступ к различным информационным источникам (включая как реляционные, так и нереляционные), в том числе к данным, хранящимся на мэйнфреймах, данным электронной почты и файловой системы, текстовым, графическим и географическим данным и др. Для многих современных приложений, использующих данные, характерно подобное разнообразие их источников. Более того, могут появляться новые форматы данных и способы их хранения, поэтому разумным требованием к универсальному механизму доступа к данным является возможность поддержки не только существующих в настоящее время форматов и источников данных, но и форматов данных, которые будут созданы в будущем. Microsoft Universal Data Access (UDA)-это архитектура фирмы Microsoft, обеспечивающая доступ к реляционным и нереляционным данным в различных форматах, которые могут храниться на различных платформах. UDA предоставляет простой программный интерфейс, использование которого возможно практически из любого современного средства разработки приложений. Чтобы освоить новую архитектуру, совсем необязательно менять собственно средство разработки, будь то Visual Basic, C++, Delphi или Microsoft Office. Microsoft UDA базируется на открытых стандартах и не требует использования технологий, предоставляемых только одним производителем. В настоящее время Microsoft UDA поддерживается всеми основными базами данных. Одним из достоинств данной архитектуры является то, что для ее использования не требуется переноса существующих данных в единое хранилище. Напротив, Microsoft UDA поддерживает все существующие источники данных и даже облегчает их использование, предоставляя единый, универсальный способ доступа к данным. Прежде чем обратиться к более детальному рассмотрению Microsoft UDA, следует отметить, что данная архитектура является одной из составных частей стратегии Microsoft Windows Distributed InterNet Applications (Windows DNA). Для разработчиков архитектура Microsoft UDA доступна через компоненты Microsoft Data Access Components (MDAC), которые включают в себя ActiveX Data Objects (ADO), Remote Data Services (RDS), OLE DB и ODBC. Именно эти компоненты лежат в основе Microsoft UDA и делают данную архитектуру работоспособной. Набор библиотек MDAC является составной частью ОС Windows, начиная с Windows 2000, а для пользователей других платформ доступен отдельно на Web-сайте Microsoft. Cуществующие способы доступа к данным обычно в той или иной степени используют перечисленные универсальные механизмы или непосредственно клиентские API. С целью адаптации дальнейшего изложения материала к учебному характеру изучаемой дисциплины рассмотрим одну из возможных схем такого использования компонентов UDA, представленную на рис.1. По сути данная схема отражает эволюцию способов доступа к данным - от создания средств низкоуровневого (клиентский API, ODBC, OLE DB) доступа к данным, требующего от программиста глубокого понимания структуры хранимой информации и возможностей ее извлечения и записи, а также необходимости написания достаточно объемного программного кода, до создания высокоуровневых (DAO, ADO) способов доступа, призванных упростить процедуру программирования операций извлечения данных из структур, в которых они хранятся в БД, и записи изменений в эти структуры. Как видно из приведенной схемы, приложение, использующее внешние данные, может применять различные стратегии использования компонентов UDA для реализации доступа к данным. Например:
Рис.1. Стратегии использования компонентов UDA Перейдем к более детальному рассмотрению аспектов использования компонентов рассматриваемой архитектуры UDA с целью выбора наиболее приемлемой технологии доступа к внешним данным в конкретных случаях. Эволюция технологий доступа к данным Большинство наиболее популярных и практически используемых технологий доступа к данным предоставляется фирмой Microsoft. Раньше в Microsoft ключевыми технологиями доступа к данным считались Data Access Objects (DAO) для настольных систем и Remote Data Objects (RDO), основанная на ODBC, – для клиент-серверных баз данных. Data Access Objects (DAO) Data Access Objects (DAO) – «родной» интерфейс программирования процессора базы данных Microsoft Jet, первоначально создавался для инструментальных сред разработки приложений Visual Basic и Visual Basic for Applications (VBA). Использование DAO эффективно для доступа к локальным источникам данных типа Microsoft Access, Microsoft FoxPro и др., хотя сама технология вполне пригодна для доступа к удаленным источникам. Кроме всего прочего, DAO обеспечивает объектно-ориентированный интерфейс, предназначенный для выполнения всех функций, которые связаны с базой данных. DAO – это не только чрезвычайно мощная, но также достаточно удобная технология, имеющая следующие функциональные возможности: Создание и редактирование баз данных, таблиц, запросов, индексов, полей, правил целостности на уровне ссылок и защиты. Возможности обращения к данным с помощью SQL, а также методы, полезные для управления и поиска данных в таблицах и данных, следующих из запросов. Поддержка транзакций, их начала, совершения и отмены. Транзакции могут быть представлены в форме вложений и являются эффективным средством для выполнения большого количества операций с базой данных как единого действия. Восстановление и сжатие базы данных с помощью языка программирования. Поддержка присоединения к базе данных разработчика удаленных таблиц, а также управление соединением. Если говорить об Access, то здесь процессором баз данных является такой продукт Microsoft, как Jet (MS Jet). Именно этот компонент всесторонне обрабатывает базу данных. А приложение Access – просто графическая оболочка, с помощью которой пользователь взаимодействует с Jet. Поскольку Jet – это отдельный компонент, другие прикладные программы тоже могут его использовать. Чтобы сделать взаимодействие базы данных с Jet более простым, в помощь разработчику предлагается модель программирования DAO, представляющая собой интерфейс автоматизации (COM интерфейс Automation) для доступа к компоненту Jet. Это означает, что любая прикладная программа, которая поддерживает Automation, включая все поддерживающие язык программирования VBA приложения Microsoft, может отдельно обращаться к DAO и, следовательно, к процессору базы данных. Таким образом, DAO – это объектно-ориентированная модель программирования. DAO является первым высокоуровневым объектно-ориентированным интерфейсом, включенным в механизм работы с базами данных Microsoft Jet. Он позволяет VB-программистам работать также с широким кругом реляционных баз данных через технологию ODBC. DAO наилучшим образом подходит для относительно небольших, локальных баз данных. Remote Data Objects (RDO) RDO представляет собой объектно-ориентированный интерфейс доступа к данным, в котором сочетается простой стиль программирования DAO с высокой производительностью и гибкостью низкоуровневых функций ODBC. Доступ к локальным базам данных Jet и ISAM (Indexed Sequential Access Method) выполняется в RDO через драйверы ODBC, что снижает его быстродействие по сравнению с DAO. Однако RDO обеспечивает возможность работы с большим числом БД различных разработчиков, предоставляя средства доступа к таким элементам, как, например, хранимые процедуры и сложные результирующие наборы данных. RDO является лишь объектно-ориентированной оболочкой ODBC API, а непосредственный доступ к данным выполняет ODBC драйвер. Объектная модель RDO похожа на DAO, но не требует дополнительной памяти для поддержки локальной базы данных. RDO предоставляет такие дополнительные функции, как серверные курсоры (server-side cursors), отсоединенные наборы записей (disconnected recordsets) и асинхронную обработку. DAO и RDO известны уже достаточно давно, и появление двух разных механизмов, как отмечалось выше, было связано с необходимостью оптимизации решения двух отдельных задач: доступа к локальным и удаленным базам данных соответственно. Однако естественное развитие вычислительных систем привело к необходимости создания единого механизма, который обеспечил бы единый подход при работе с БД различных классов. В результате Microsoft предложила в качестве единого интерфейса для доступа к локальным и удаленным данным новую технологию ADO, которая является частью архитектуры Microsoft UDA. ActiveX Data Objects (ADO) ADO реализует высокопроизводительный и удобный прикладной интерфейс для OLE DB. Технология ADO нетребовательная к системным ресурсам, создает минимальную нагрузку на сеть и отличается минимальным числом уровней между приложением и источником данных. ADO предоставляет COM интерфейс Automation, поэтому она поддерживается любой ведущей инструментальной средой быстрой разработки приложений, а также другими инструментальными средствами разработки баз данных, приложений и сценариев. Разработчики ADO постарались объединить в ней все лучшее, что было в DAO и RDO. Предполагалось, что по мере возможности ADO заменит собой эти технологии. |
Контрольные вопросы тестового государственного междисциплинарного экзамена Учеб пособие. Контрольные вопросы тестового государственного междисциплинарного экзамена. Под редакцией В. И. Козлова |
Контрольные вопросы |
||
Контрольные вопросы |
8. Контрольные вопросы Введение ? |
||
Форма II 2 Дополнительные сведения о гтс, необходимые для определения... Дополнительные сведения о гтс, необходимые для определения уровня безопасности опасного объекта |
Контрольные вопросы Изучение принципов гигиенического нормирования и санитарно-гигиенической оценки параметров вибрации |
||
Теория электрических цепей Задание: изучить § 4, 5, 6 и письменно ответить на контрольные вопросы 23-26 на странице 137 |
Контрольные вопросы рефераты Предмет, система, основные понятия и правовые источники дисциплины «Правоохранительные органы» |
||
Контрольные вопросы 23 Информационные технологии: Учеб для вузов / Б. Я. Советов, В. В. Цехановский. — М.: Высш шк., 2003.— 263 с |
Оренбург 2015 Контрольные вопросы: Организация дозиметрического контроля «Оренбургский государственный медицинский университет» Министерства здравоохранения РФ |
||
Контрольные вопросы Экзамен Государственное автономное профессиональное образовательное учреждение «Ташлинский политехнический техникум» с. Ташла Оренбургской... |
Контрольные вопросы Темы для сообщений Структурная организация мк. Память и регистры мк. Ассемблер. Группа команд передачи данных |
||
3 Литература 12 1 Контрольные вопросы. 12 Государственное учреждение "Чувашский республиканский радиологический центр" Министерства природных ресурсов и экологии Чувашской... |
Контрольные вопросы для самостоятельной работы студентов Предмет и задачи курса отечественной истории. Сущность, формы и функции исторического знания |
||
Описание электронной копии Гтд – дополнительные сведения по внешнеторговым договорам для расчета таможенных платежей – договора 16 |
Описание электронной копии Гтд – дополнительные сведения по внешнеторговым договорам для расчета таможенных платежей – договора 16 |
Поиск |