Как стать автором
Поиск
Написать публикацию
Обновить

Автоматизированное получение отчетности OBIEE клиентом

Время на прочтение2 мин
Количество просмотров836

Иногда возникает задача получения отчета на рабочем месте клиента без использования интерактивного средства взаимодействия в виде браузера.


Во времена Oracle Reports подобная задача решалась через применение утилиты rwclient. Что можно применить для подобного в Oracle BIEE? — используем предоставленный API REST-интерфейс для Oracle BI Publisher:


  1. Создаем отчет, пусть он будет будет доступен в каталоге: /~scott.tiger/Example;
  2. Запросом через утилиту curl получаем ответ сервера, сохраняя его в файле:

    curl -X POST -u login:password  -o report_out.xlsx -H "Content-Type:multipart/form-data" -v -F 'ReportRequest={"attributeFormat":"xlsx","attributeTemplate":"Publisher Template"};type=application/json' http://hostname:port/xmlpserver/services/rest/v1/reports/~scott.tiger%2FExample/run
  3. Так как содержимое ответа в документе report_out.xlsx это ещё не Excel, а multipart-документ (см. RFC 7578), то обрабатываем документ, откусывая излишние детали:

    perl -i -pe 'BEGIN{undef $/;} s/.*\r\n\r\n(.*?)\r\n--Boundary[^\n]*?--\r\n/$1/sm' report_out.xlsx
  4. Убеждаемся в работоспособности отчёта, открывая его через Excel на клиентской машине.
  5. Cклеиваем наработки вместе через пайп и получаем готовое решение:

    curl -X POST -u login:password  -H "Content-Type:multipart/form-data" -v -F 'ReportRequest={"attributeFormat":"xlsx","attributeTemplate":"Publisher Template"};type=application/json' http://nameserv:port/xmlpserver/services/rest/v1/reports/~scott.tiger%2FExample/run |  perl -pe 'BEGIN{undef $/;} s/.*\r\n\r\n(.*?)\r\n--Boundary[^\n]*?--\r\n/$1/sm' > report_output.xlsx
Теги:
Хабы:
Всего голосов 3: ↑2 и ↓1+2
Комментарии0

Публикации

Информация

Сайт
www.rdtex.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия