|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Несколько слов об OLE DBБазовым интерфейсом для доступа к внешним данным в Microsoft Excel являются поставщики данных OLE DB. Прикладную ценность OLE DB проще всего выразить одной фразой: если какойнибудь источник данных поддерживает технологию OLE DB (существует OLE DB-провайдер), то из него всегда можно получить данные в виде плоской таблицы. Принципиальным здесь является тезис о произвольности внутренней структуры источника данных, иными словами — это необязательно должна быть реляционная база данных. Аналитические базы, в частности базы данных Microsoft Analysis Server, поддерживают OLE DB. Благодаря этому обстоятельству не составляет труда получить многомерные данные в формате обычных таблиц. Microsoft Excel обращается к серверу Microsoft Analysis Server посредством OLE DB-провайдера версии MSOLAP.4. В предыдущей статье цикла было показано, как следует конфигурировать провайдер, чтобы в итоге получить возможность посылать запросы из среды Microsoft Excel напрямую в аналитический сервер. Продемонстрируем, каким образом можно настроить доступ к аналитическим серверам из реляционных сред. В качестве примера возьмем СУБД Microsoft SQL Server. Здесь подключение к внешним источникам настраивается при помощи объекта Linked Server. Создадим новый присоединенный сервер с такими параметрами, как на рис. 1.
Рис. 1. Создание присоединенного сервера В поле Product name следует указать подходящую версию OLE DB-провайдера. В нашем случае — это всё тот же MSOLAP.4, в поле Data source — название аналитического сервера, а поле Catalog — имя базы на выбранном сервере, из которой требуется получить информацию. После этого при помощи инструкции OPENQUERY можно составлять запрос на выборку из аналитической базы (рис. 2).
Рис. 2. Запрос на выборку из аналитической базы данных На рис. 2 показан запрос данных по продажам за последние два месяца с детализацией по подразделениям. Как видно из того же рисунка, выходные данные преобразованы OLE DB-провайдером в формат плос-кой таблицы — все атрибуты выведены в заголовки. Провайдер OLE DB предоставляет пользователю набор стандартных интерфейсов для обращения к источнику данных. В частности, при помощи OLE DB на OLAP-источник можно послать любую команду из класса Data Manipulation Statement. Однако штатное подключение Microsoft Excel, использующее OLE DB, поддерживает единственную команду — Select. Обычно ограничения подобного рода достаточно просто обходятся путем вызова необходимых интерфейсов в среде Visual Basic. К сожалению, в случае с OLE DB данная методика не работает, так как классы OLE DB, будучи универсальными объектами, не поддерживают автоматизацию (Automation). Для обращения к OLE DB из языков, работающих по технологии «позднего связывания» (в частности, Visual Basic), приходится использовать COM-надстройки к провайдеру OLE DB — ADO DB либо ADO MD. Указанные надстройки содержат класс Command, позволяющий определить произвольную команду, выполняющуюся по отношению к источнику данных, и делегировать ее OLE DB для последующего исполнения. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |