#reporting-services
#службы отчетов
Вопрос:
У нас есть отчет, в параметре которого указан идентификатор страны. Этот отчет очень медленно отображается, поэтому мы решили добавить некоторое кэширование.
Однако при запуске отчета, независимо от значения, которое я предоставляю, он всегда будет отображать первую созданную версию кэша (в моем случае, всегда 65 / france, я полагаю, потому что первая в списке планов кэша).). Когда я отключаю кеш, тогда параметр правильно учитывается (так что это не проблема с отчетом)
Я что-то упускаю? согласно документации, для каждой комбинации параметров должна существовать версия кэша…
Комментарии:
1. Как параметры устанавливаются в клиенте? Существует ли значение по умолчанию? Могло ли что-то на стороне клиента кэшировать параметр по умолчанию как France из предыдущих запусков? увы, вы говорите, что когда вы неявно выбираете другую страну и устанавливаете параметр country, всегда используется Франция?
2. Отчет не имеет значения по умолчанию (поэтому он не является резервным вариантом из-за отсутствия параметра). Параметр заполняется через стандартный пользовательский интерфейс ( i.imgur.com/JCGXlIM.png ). Я могу указать любое число в качестве параметра (в текстовом поле), всегда будет Франция)…
3. хммм, вы добавили параметр после того, как был установлен план кэширования?
4. просто дождался очередного обновления кэша (каждые 5 часов), чтобы убедиться, что параметры учтены. мы можем видеть количество строк, которое отличается для каждой страны (ожидаемое). i.imgur.com/NDY6IcI.png по-прежнему всегда отображаются данные первого обновления кэша (на этот раз ID = 5 с 142 строками)
Ответ №1:
После долгих исследований и справки Microsoft premiere (безуспешно) оказалось, что поле ввода хранимой процедуры имеет тип string и объявлено как целое число в файле rdl. Похоже, что это несоответствие неправильно обрабатывается cache.
У меня не было подтверждения от MS engineer, что это ошибка или по замыслу.