web-dev-qa-db-ja.com

SSRSレポートに古いデータが表示されるのはなぜですか?

すべてのキャッシュを無効にしているという事実(私は知っている)にもかかわらず、キャッシュされたデータを何らかの形で表示するライブレポートがあります。 BIDSクエリエディタでクエリを実行すると、現在のデータが表示されます。ただし、BIDSプレビューではおよび実際に展開されたレポートで、古いデータが表示されています。

レポートWebサイトのレポートプロパティでレポートキャッシュをオンにしてからオフに切り替えてみたところ、IIS HTTPヘッダープロパティに移動し、コンテンツを '即時期限切れ'に設定しました。以前はBIDSプレビューウィンドウでこの問題が発生しました。これは、レポート定義とともに保存された.dataファイル(これは数回削除/更新したため)ですが、ライブレポートで発生することはありません。

私が見逃しているどこかに別のキャッシュオプションがありますか?

編集:レポートにはユーザーが選択したパラメーターもあります。これにより、キャッシュが有効になっている場合でもパラメーターによってSSRSが最新のデータを使用するという印象を受けたため、これはさらに複雑になります。

22
Kon

SSRSの開発モードでは、通常、report_name.rdl.DATAファイルを削除します。つまり、データは最後の実行から保持されます。

これがソースデータの変更と、前回の実行のように見えるレポートの問題であることを理解するには、数回の実行が必要でした。

編集:.rdlレポートファイルを削除しないように注意してください(結果セットを更新するために削除するのは "report.rdl.data"ファイルです)。

33
Nagshead

古い投稿ですが、私はまだこれに遭遇し、これを簡単にするために外部ツールの下にオプションを置く方法に関する記事を見つけました。

  1. [ツール]> [外部ツール...]に移動します。
  2. 次の設定で新しいツールを追加します。
    • タイトル:レポートデータキャッシュのクリア
    • コマンド:_"%WinDir%\System32\cmd.exe"_
    • 引数:/C DEL /S /Q "$(SolutionDir)\*.rdl.data"
    • チェックオプション:[出力]ウィンドウを使用して終了時に閉じる

これで、レポートデータキャッシュを削除するときはいつでも、[ツール]> [レポートデータキャッシュのクリア]に移動します。

完全な記事はこちら: http://jasonfaulkner.com/ClearDataCacheBIS.aspx

24
AlsoKnownAsJazz

これらのオプションはどれも役に立たなかった-データソースプロパティで[クエリを処理するときに単一のトランザクションを使用する]にチェックマークを付け、最新のデータでプレビューの実行を開始しました。

3
smallweed

SSRS 2010でVSを使用すると、プレビューモードでは古いデータのみが表示されることがわかりました。データセットクエリに移動して更新をクリックすると、新しいデータが正常に表示され、プレビューに新しいデータが表示されます。これは迷惑でしたが、それについて読んでいると、展開されたレポートがそれ自体で問題なく更新されることを理解しました。展開されたレポートを表示するためのアクセス権がないため、この理論を証明できませんでした。とにかく、さまざまな投稿からいくつかのヒントを取り、レポートプロパティのAutoRefreshプロパティを0から1に変更しました。その後、プレビューモードに移行すると、レポートは正常に更新されましたが、1秒ごとに更新し続けました。今、私はそのプロパティがどのように機能するかを取得し、1000000に設定します。つまり、最初にプレビューに移動すると1回更新され、その後1000000秒で再び更新されます。もっと。これが展開されたレポートにどのように影響するかは実際にはわかりませんが、ほぼ同じです。展開されたレポートにアクセスできる他の人がアドバイスすることができます。

2
Greg

SSRSを使用して、レポートからレポートのDataSourceを削除してから再作成すると、キャッシュされたすべてのデータを削除できることがわかりましたBIDS環境内。ただし、展開されたレポートからこのような動作を見たことはありません。

SSRSサーバーから共有データソースを削除してから、再デプロイしてみてください。おそらく同様の更新が発生します。ただし、展開されたレポートが運用環境にある場合、必ずしもこのような極端にジャンプするわけではありません。

1
Scruffy

これは、レポート作成者が現在のデータを表示している場合でも、古いデータ表示を求める人にとって役立つかもしれません。

また、既存のライブレポートでこのような問題に直面しています。 DB側でデータを更新しました。しかし、変更は機能しません。何回かリフレッシュしました。まだ古いデータを表示しています。その後、レポートの[レポート履歴の表示]をクリックしたことがわかりました[レポート名にカーソルを合わせて、下矢印をクリックするとこのオプションが表示されます]。 [レポート履歴]ページの左側で、[処理オプション]に移動すると、2つのラジオオプションが利用できることがわかりました。

  1. 常に最新のデータでこのレポートを実行してください
  2. レポートスナップショットからこのレポートをレンダリングする

残念ながら、私のレポートにはPoint2が選択されています。そして、毎日午前7時にスケジュールされています。そのため、午前7時以降に変更を加えた場合、すぐに確認できませんでした。翌日のスナップショットを待つ必要があります。ただし、Point1を選択すると、最新のデータが表示されるので、これを変更できます。

これがSSRSレポートを保守している人の助けになることを願っています。

よろしく、ViswaV。

1
salaiviswa

Visual Studio 2017で、問題のレポートの[プレビュー]タブをクリックします。

アイコンツールバーには、データベースをクリックして最新のデータを取得する更新アイコンがあります。

enter image description here

1
Mike

多くの人はこれを行うことを忘れており、常に.rdsファイルが最新であることを確認してください。 SSRSで、レポートとともに「共有データソース」と「共有データセット」を再構築および再展開します。

  1. [共有データソース]および[共有データセット](.rds)ファイルを選択します。
  2. マウスの右クリック、「ビルド」。
  3. マウスの右クリック、「デプロイ」。

次に、ホストからレポートを再実行します。

0
GBGOLC

常に最新のデータでこのレポートを実行するこのレポートの一時コピーをキャッシュしない

  1. 上記のオプションがReportManagerを介した処理オプションで選択されているかどうかを再確認します。
  2. データセットが現在のデータをクエリしているかどうかを確認してください。
  3. レポートを更新します。

それは非常に奇妙です。

0
January Mmako