我有一个使用 XML 数据源的 SSRS 子报告,该数据源在 BIDS 中或从 SSRS 服务器部署和运行时运行良好,但是一旦在 Microsoft Dynamics CRM 2011 中部署为报告,它在从 CRM 调用时无法运行,因为 SSRS 抛出以下异常:
Microsoft.ReportingServices.ReportProcessing.ProcessingAbortedException: An error has occurred during report processing. --->
Microsoft.ReportingServices.DataExtensions.XmlDP.XmlDPException:
The data extension supports Windows Integrated Security and No Credentials (anonymous request) only.
父报表使用 FetchXML 加载一些数据,然后将这些数据作为参数传递到子报表中。CRM 自动通过 UserID/OrganizationID 是任何报告的凭据,这是正确的,因为需要凭据才能在父报告中调用 FetchXML,但是从例外情况来看,在我看来子报告也是(不正确?)从父报表继承数据源凭据设置,尽管子报表使用完全不同类型的数据源和凭据设置。
如果子报表在 CRM 中发布并自行运行,那么它也可以正常工作,但这并不能满足业务需求。子报表必须包装在父报表中,以便传递用户可选择的参数。
是否有任何方法可以覆盖此行为,可能是子报告中的一些自定义代码可以强制 XML 数据源使用“不使用凭据”设置?