0

我遇到了一個問題,當我將自定義報告上載到Dynamics CRM時,它不顯示報告中的任何數據。在我的報告中,我使用了存儲在名爲「CustomReports」的單獨數據庫中的存儲過程。我已經做了一些測試,看看是否可以確定究竟是什麼導致了這個問題,但不幸的是我沒有運氣。 下面是我試過的測試列表:Dynamics CRM報告不顯示數據

  1. 上傳使用我的「CustomReports」數據庫從CRM篩選視圖訪問數據的報告。 - 無數據返回
  2. 在我們的報表管理冉這個確切的報告 - 數據返回
  3. 使用我的「CustomReports」數據庫從CRM非篩選視圖訪問數據上傳報表 - 數據返回
  4. 上傳了一份使用CRM數據庫和過濾視圖的報告。 - 數據返回

我想直到我跑到前面測試4它可能涉及到CRM安全模型。現在我完全難倒了。爲什麼當我調用使用我的自定義數據庫中的過濾視圖的存儲過程時,它不顯示結果,但是當我使用CRM編寫與我的數據源相同的查詢時,它會返回結果?如果有人遇到過類似的情況,或者有關於如何解決這個問題的想法,將不勝感激。

回答

0

NickNow的回覆幫助指導我解決問題。正如他所說,我的CRM用戶的用戶憑證沒有被傳遞到我的CustomReport數據庫,因爲我正在使用集成安全連接類型到該數據源。因此我相信我作爲CRM應用服務用戶連接到數據庫,這不是一個真正的CRM登錄用戶,因此CRM安全模型會過濾掉我的報告中的所有數據。

我解決這個問題的方法是將我的CRM數據庫設置爲我的DataSource,而不是我的CustomReport數據庫。然後在我的報告查詢中,我從我的CustomReport DB執行了我的存儲過程。所以我的查詢是: EXEC CustomReport.dbo.StoredProcedure

這使得數據顯示在我的報告中。

1

由於它正在訪問CRM Filtered視圖,因此SQL將使用用戶訪問已過濾視圖的自定義數據庫進行安全修整。我不相信基於CRM的報告將訪問作爲運行該報告的CRM用戶的數據源指向CustomReports。因此,您需要確保無論用戶帳戶SSRS和SQL最終使用的是CRM中的有效用戶,並且具有相關數據的讀取權限。

如果您可以使用步驟#4訪問數據,該數據是將數據導入報表的首選和受支持的方法。我知道傳統上我們希望爲報告編寫Stored Procs,但這不在Dynamics CRM模型中。通常可以這樣做,假設你沒有在線使用CRM,但是你正在引入更多的複雜性,而CRM沒有很好的記錄。

相關問題