Почему мой отчет SSRS показывает старые данные?

У меня есть живой отчет, который каким-то образом отображает кэшированные данные, несмотря на то, что я отключил все кэширование (что я знаю). Когда я запускаю запрос в редакторе запросов BIDS, он показывает текущие данные. Но в предварительном просмотре BIDS и фактическом развернутом отчете он все еще показывает устаревшие данные.

Я попытался переключить кэширование отчета, а затем отменил его в свойствах отчета на веб-сайте отчетов, и я перешел в свойства заголовка IIS HTTP Header и установил контент в "Expire Immediately". Я видел эту проблему раньше в окне предварительного просмотра BIDS из-за файла .data, хранящегося с определением отчета (который я удалил/обновил несколько раз), но я никогда не видел, чтобы это происходило с живым отчетом.

Есть ли еще один вариант кеширования, который мне не хватает?

Изменить: в отчете также есть пользовательский параметр, который делает это еще более озадачивающим, так как я находился под впечатлением, что параметры заставляют SSRS использовать самые последние данные, даже когда кеширование включено.

Ответы

Ответ 1

В режиме разработки для SSRS я обычно удаляю файл report_name.rdl.DATA. То есть, где данные хранятся с последнего запуска.

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

Редактировать: Остерегайтесь не удалять файл отчета .rdl (это файл "report.rdl.data", который вы хотите удалить, чтобы обновить набор результатов).

Ответ 2

Старый пост, но я все еще сталкиваюсь с этим и нашел статью о том, как поместить опцию в внешние инструменты, чтобы сделать это проще.

  1. Перейдите в Инструменты> Внешние инструменты...
  2. Добавьте новый инструмент со следующими настройками:
    • Название: Очистить кэш данных отчета
    • Команда: "%WinDir%\System32\cmd.exe"
    • Аргументы: /C DEL/S/Q "$(SolutionDir)\*.rdl.data"
    • Проверить параметры: использовать окно вывода и закрыть при выходе

Теперь, когда вы хотите удалить свой кэш данных отчета, просто выберите Инструменты> Очистить кэш данных отчета.

Полная статья здесь: http://jasonfaulkner.com/ClearDataCacheBIS.aspx

Ответ 3

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

Ответ 4

Я обнаружил, что при использовании VS в SSRS 2010 режим предварительного просмотра будет показывать только старые данные. Если я перейду к запросу набора данных и удалю обновление, то новые данные будут отображаться в порядке, а затем в окне предварительного просмотра будут показаны новые данные. Это было досадно, но, читая об этом, я понял, что развернутый отчет обновится. Я не мог доказать эту теорию, поскольку у меня нет доступа для просмотра моих развернутых отчетов, что еще более раздражает. В любом случае я взял несколько советов из разных сообщений и изменил свойство AutoRefresh в свойствах Отчета от 0 до 1. Затем, когда я перешел в режим предварительного просмотра, отчет обновился, но обновлялся каждые 1 секунду. Теперь я получаю, как это свойство работает и устанавливает его в 1000000. Это означает, что он обновляется один раз, когда вы сначала переходите к Preview, а затем он будет делать это снова в 1000000 секунд, до которого я выхожу из режима предварительного просмотра и с радостью создаю отчет Больше. Я действительно не знаю, как это повлияет на развернутый отчет, но в то же время я бы подумал. Может быть, кто-то, у кого есть доступ к их развернутым отчетам, может посоветовать.

Ответ 5

Я нашел с SSRS, что удаляет DataSource Report из отчета, а затем повторно создает его, чтобы избавиться от всех кэшированных данных в среде BIDS. Тем не менее, я никогда не видел такого поведения из развернутого отчета.

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

Ответ 6

Может быть, это поможет кому-то, кто ищет старый дисплей данных, даже отчет buider отображает текущие данные.

Я также сталкиваюсь с такими проблемами в существующих прямых отчетах. Я обновил данные на стороне БД. Но изменение не сработало. Я несколько раз обновлялся. Показываются старые данные. Позже я обнаружил, что я нажал "Просмотреть отчетную историю" для отчета [эта опция будет отображаться, если вы наведете имя отчета и нажмите "Понижать" ). В левой части страницы "История отчетов" я перешел к "Варианту обработки", там я мог видеть, что есть два доступных параметра радио.

  • Всегда запускайте этот отчет с использованием самых последних данных
  • Отметьте этот отчет из моментального снимка отчета

К сожалению, в моем отчете есть выбор Point2. и его планируют каждые 7 часов утра ежедневно. Итак, после 7 утра, если мы сделаем какие-либо изменения, мы не сразу увидим. мы должны дождаться моментального снимка на следующий день. BUt, мы можем изменить это, выбрав Point1, который принесет вам самые последние данные.

Надеюсь, это может помочь кому-то, кто поддерживает отчеты SSRS.

С уважением, Viswa V.

Ответ 7

Всегда запускайте этот отчет с использованием самых последних данных  Не кэшируйте временные копии этого отчета

  • Двойная проверка, если указанные выше параметры выбраны в разделе "Параметры обработки" через ReportManager.
  • проверьте, запрашивает ли ваш набор данных текущие данные.
  • Обновить отчет.

Это очень странно.

Ответ 8

Многие забывают это сделать, всегда проверяйте, что ваши .rds файлы обновлены. В SSRS повторно создайте и повторно разверните "Общие источники данных" и "Общие наборы данных" вместе с отчетами.

  • Выберите файлы "Общие источники данных" и "Общие наборы данных" (.rds).
  • Щелкните правой кнопкой мыши, "Build".
  • Щелкните правой кнопкой мыши, "Разверните".

Теперь запустите отчет с хоста.

Ответ 9

В Visual Studio 2017 щелкните вкладку "Предварительный просмотр" для рассматриваемого отчета.

На панели инструментов значок есть значок обновления, который будет извлекать последние данные из вашей базы данных, когда вы нажимаете на нее:

enter image description here