【问题标题】:Dynamics CRM Report doesn't show dataDynamics CRM 报告不显示数据
【发布时间】:2015-02-07 19:59:34
【问题描述】:

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

  1. 使用我的“CustomReports”数据库上传了一份报告,以访问来自 CRM 过滤视图的数据。 -- 没有返回数据
  2. 在我们的报告管理器中运行这个准确的报告 -- 数据返回
  3. 使用我的“CustomReports”数据库上传报告以访问来自 CRM 未过滤视图的数据 -- 数据返回
  4. 使用 CRM 数据库和过滤视图上传了一份报告。 -- 数据返回

在我运行上面的测试 4 之前,我认为这可能与 CRM 安全模型有关。现在我完全被难住了。为什么当我从自定义数据库调用使用过滤视图的存储过程时,它不显示结果,但是当我使用 CRM 作为数据源编写相同的查询时,它确实返回结果?如果有人遇到过类似情况或对如何解决此问题有想法,将不胜感激。

【问题讨论】:

    标签: sql-server reporting-services dynamics-crm dynamics-crm-2013


    【解决方案1】:

    由于它正在访问 CRM 过滤视图,因此 SQL 用于从自定义数据库访问过滤视图的用户将对其进行安全调整。我不相信基于 CRM 的报告会以运行报告的 CRM 用户身份访问指向 CustomReports 的数据源点。因此,您需要确保 SSRS 和 SQL 最终使用的任何用户帐户都是 CRM 中的有效用户,并且具有相关数据的读取权限。

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2020-06-22
        • 1970-01-01
        • 2011-09-17
        • 1970-01-01
        • 1970-01-01
        • 2011-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多