get Oracle SmartView plugin

Essbase SQL Interface (for Oracle) ч.3

Забираем данные из APS

Для того что бы забрать данные, нам потребуется две вещи
1) Спецификация протокола XMLA
2) PL_SQL мастерство )
Признаться честно, XMLA я бредил давно, но реально к его познанию меня подтолкнула разработка Василия
Итак, что нам нужно от XMLA
Continue reading “Essbase SQL Interface (for Oracle) ч.3”

Essbase SQL Interface (for Oracle) ч.2

Пишем MDX запрос

Для экспериментов возьмем базу Sample.Basic, она есть в каждой инсталляции и для опытов подходит наилучшим образом.
Какие есть особенности, которые нужно учитывать при разработке
Continue reading “Essbase SQL Interface (for Oracle) ч.2”

Essbase SQL Interface (for Oracle) ч.1

Продолжаю тему использования XMLA к Oracle Essbase, описав как сделать полноценный SQL интерфейс в Oracle Database к кубу Essbase. Конечно, данное решение можно назвать «фриковым», так как оно отнюдь не тривиально. Но чем черт не шутит, возможно это то что Вам нужно, так как оно позволяет опубликовать данные Essbase для тех отчетных систем, которые только и умеют что работать с SQL. Например, теперь Apex, Pentaho, Jasper и прочие бесплатные BI инструменты доступны для использования Essbase.
Continue reading “Essbase SQL Interface (for Oracle) ч.1”

Essbase Data in PL/SQL through XMLA (Providers Services)

Когда стоит задача интеграционной связки ERP систем с Hyperion Planning (Essbase) в части передачи данных, то одним из решением, точечной выгрузки, является использование служб Providers Services, которые предоставляют Web Службы XMLA. (Стандарт XMLA открывает Essbase для Microsoft Reporting и для других программ )

Для работы нам потребуется
1) Essbase
2) ProviderServices
3) Essbase Administration Console
4) Shared Services
5) Oracle DB (10g/11g)

Этот технологический стек используется в работе Excel SmartView AddIn, и при соблюдении разумных ограничений (на объем выгружаемых данных), можно смело использовать на высоконагруженных промышленных окружениях.

Для того что бы с web серверу можно было обратиться из Oracle RDB 11g нужно настроить политики безопасности ( это особенность 11-ой версии) :
Для это последовательно нужно создать фильтры доступа (Access Control List (ACL), добавить туда политики настройки безопасности.

begin
dbms_network_acl_admin.create_acl
(
acl => ‘BRDG_ESSBASE_2SQL.xml’,
description => ‘Normal Access’,
principal => ‘BRDG_ESSBASE_2SQL’,
is_grant => TRUE,
privilege => ‘connect’,
start_date => null,
end_date => null
);
end;

begin
dbms_network_acl_admin.assign_acl
(
acl => ‘BRDG_ESSBASE_2SQL.xml’,
host => ‘*’,
lower_port => NULL,
upper_port => NULL
);
commit;
end;

Проверить настройки безопасности можно с помощью след. запросов

SELECT host, lower_port, upper_port, acl FROM dba_network_acls;

SELECT acl, principal, privilege, is_grant,
TO_CHAR(start_date, ‘DD-MON-YYYY’) AS start_date,
TO_CHAR(end_date, ‘DD-MON-YYYY’) AS end_date
FROM dba_network_acl_privileges;

После этих команд наш Oracle RDB 11g уже готов делать Webзапросы . Я отказался от работы с пакетами XML и разобрал поток самостоятельно. Реализацию с XML можно взять вот тут.

Сам код процедуры и пример запроса можно взять вот тут.