繁体   English   中英

Dynamics CRM报告不显示数据

[英]Dynamics CRM Report doesn't show data

我遇到了一个问题,当我将自定义报告上载到Dynamics CRM时,报告中没有显示任何数据。 在我的报告中,我使用了存储过程,这些存储过程存储在名为“ CustomReports”的单独数据库中。 我已经进行了一些测试,以查看是否可以确切地找出导致问题的原因,但不幸的是我没有运气。 以下是我尝试过的测试列表:

  1. 使用我的“ CustomReports”数据库上载了报告,以从CRM过滤的视图中访问数据。 - 没有数据返回
  2. 在我们的报表管理器中运行此确切报表- 数据返回
  3. 使用我的“ CustomReports”数据库上传报告,以从CRM非过滤视图访问数据- 返回数据
  4. 使用CRM数据库和过滤视图上传了报告。 - 返回的数据

我以为它可能与CRM安全模型有关,直到我运行上述测试4。 现在我完全陷入了困境。 为什么当我调用使用自定义数据库中经过过滤的视图的存储过程时,它不显示结果,但是当我使用CRM作为数据源编写相同的查询时,它却返回结果吗? 如果有人遇到类似情况或有解决办法的想法,将不胜感激。

由于它正在访问“ CRM筛选”视图,因此将使用SQL来从自定义数据库访问“筛选”视图的用户对其安全性进行调整。 我不认为基于CRM的报表将作为运行报表的CRM用户访问CustomReports的数据源点。 因此,您需要确保最终使用的用户帐户SSRS和SQL都是CRM中的有效用户,并且具有对相关数据的读取权限。

如果您可以使用第4步访问数据,则这是将数据获取到报表中的首选和受支持的方法。 我知道,传统上我们想为报表编写存储过程,但这超出了Dynamics CRM模型。 假设您没有在线使用CRM,通常可以做到这一点,但是您会引入更多的复杂性,而对于CRM而言,这种复杂性并没有得到很好的证明。

NickNow的回答帮助我找到了问题所在。 正如他所说,我的CRM用户的用户凭据未传递到CustomReport数据库,因为我对该数据源使用了集成安全性连接类型。 结果,我相信我以不是真正的CRM登录用户的CRM应用服务用户身份连接到数据库,因此CRM安全模型从报告中过滤掉了所有数据。

我解决此问题的方法是将CRM数据库设置为DataSource,而不是CustomReport数据库。 然后在报表查询中,我从CustomReport数据库执行了存储过程。 所以我的查询是: EXEC CustomReport.dbo.StoredProcedure

这使数据显示在我的报告中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM