2016-07-26 6 views
0

У меня есть служба, которая интегрируется с SSRS 2012 для создания отчетов и отправки их по почте. Служба вызывает веб-службы SSRS для получения потока отчетов.Как проверить, нет ли отчета, возвращаемого веб-службами SSRS, или нет

Для одного типа отчета необходимо проверить, не был ли отчет пустым, прежде чем отправлять его.

Как это можно сделать абстрактным способом, без дублирования запроса внутри отчета или анализа содержимого отчета?

Обновление: Render метод возвращает предупреждения. Можно ли отправить конкретное предупреждение из отчета? Я пытаюсь поднять предупреждение в запросе набора данных, но все равно получил значение null для параметра warnings. Возможно, это намерение только для служебных предупреждений. Документация не добавляет многого.

ответ

0

Предполагая, что вы получаете массив байтов с сервера SSRS, вы можете попытаться определить, какова минимальная длина действительного отчета. Кроме этого, я бы сказал, что изучение содержимого кажется лучшим вариантом.

+0

Идея состоит в том, чтобы сделать это абстрактным способом, не анализируя содержимое отчета. Замечание длины легко сбой, если формат изменяется, если какое-либо изображение встроено. – ByteArtisan

+1

Будет трудно сделать это абстрактно, как вы, вероятно, уже догадались. Веб-служба SSRS действительно не имеет механизма для указания того, что форма заполнена или данные доступны для нее. У вас может быть оператор if, который всегда говорит «Нет данных» без какого-либо другого форматирования страницы, если нет наборов данных, поэтому возвращаемый размер всегда один и тот же, независимо от данных. Вы также можете делать локальные отчеты и генерировать свой набор данных и передавать весь набор данных в SSRS, если он действителен, но мне не очень нравится это решение. – Falanor

+0

Я до сих пор не вижу других способов сделать это. Я буду копаться в вашем втором решении. Tks. – ByteArtisan