2017-05-28 21 views
0

多年來,我們一直在各種客戶端上成功使用SSRS自動刷新(SQL Server 2008R2),從未遇到任何問題。 Chrome和IE在各種操作系統(Windows XP,7和10)上的各種組合都很好。我們剛剛在電視屏幕上部署了一個新的報告以全屏模式運行,並且似乎部分刷新。 Globals!ExecutionTime顯示準確,但報表的Tablix中的新行(源數據中的INSERT)在手動刷新報表之前不顯示。更奇怪的是,源數據的UPDATE似乎通過自動刷新過程。這個問題似乎只發生在這些特定的客戶端上。SSRS自動刷新(AutoRefresh)只能在特定客戶端上部分工作

我們已經設置了報告歷史記錄來幫助監控此問題,並且按預期工作。事實上,它突出顯示了不一致性,其中更新的信息在屏幕自動刷新之前運行的快照中捕獲。

報告執行日誌正在記錄我們期望看到的執行。數據只是沒有進入屏幕。

報告的處理選項有:

  • 始終本報告與最新的數據運行,
  • 不要緩存本報告 的臨時副本不勝感激:-)
+1

也許在這裏的東西可以幫助。 https://social.msdn.microsoft.com/Forums/sqlserver/en-US/9bc13904-a727-4786-9a11-693570f5f8d4/diable-the-cache-for-all-reports-in-ssrs-2008?forum= sqlreportingservices。 – Snowlockk

回答

1
任何建議

那麼我們最終解決了它。問題結果並不完全如上所述。這似乎是由於幾個級聯參數的不尋常組合,以及快速變化的底層數據集。會發生什麼,是這樣的:

  1. 級聯參數後面的SQL會在autorefresh上執行,以填充每個參數的默認值。
  2. 在此期間或之後不久,源數據將發生變化。
  3. 接下來使用現在過時的參數值執行最終數據集SQL,並返回錯誤的結果。

解決方法是從報告(和底層存儲過程)中刪除五個級聯參數中的四個。存儲過程最初被打算廣泛使用,這就是需要所有參數的原因。結果發現它只被報告使用,所以幸運的是我們能夠簡化這個過程。

相關問題