SSRS 2008 - обновить отчет без запроса данных? - PullRequest
3 голосов
/ 09 августа 2011

У меня в отчете четыре параметра.Три из них требуются для базового источника данных хранимой процедуры, но четвертый параметр используется только для отображения / скрытия элементов в отчете.

Если пользователь изменяет значение для этого четвертого параметра, есть ли способобновить отчет с использованием существующих данных без повторного запуска хранимой процедуры?Набор результатов не изменится, только те строки, которые должны отображаться.

1 Ответ

2 голосов
/ 10 августа 2011

Службы Reporting Services 2008, похоже, рассматривают каждую комбинацию параметров отчета как уникальный набор, даже если некоторые из них являются внутренними только для отчета и не связаны с хранимой процедурой. Поэтому, кроме использования кэширования отчетов, нет способа помешать серверу отчетов выполнять обход в базу данных, даже если изменяются только внутренние параметры. У вас есть два варианта:

  1. Включите кэширование отчетов на сервере отчетов и запустите все комбинации четыре параметра, так что пользователь будет получать доступ к отчету кеш сервера, когда она запускает какой-либо отчет. Это позволяет избежать обратного обращения к базе данных, но только для значений параметров, которые вы уже пробовали.
  2. написать свою хранимую процедуру с поведением кэширования, чтобы она записывала свои результаты в таблицу базы данных. Всякий раз, когда хранимая процедура выполняется, она сначала проверяет таблицу, чтобы увидеть, сохранены ли результаты для текущего набора значений параметров в таблице кэша, и если это так, возвращает эти строки серверу отчетов. Это все еще требует приема в оба конца, но это быстрее, чем повторное выполнение процедуры.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...