我正在使用SSRS运行SQL 2008 R2 x64(10.50.4297.0 / SP2 CU10)
我在使用reportserver?...&rs:Command=Render
网址将报告导出为PDF时出现问题,尽管报告在网络报告查看器中导出正常(Reports/Reserved.ReportViewerWebControl.axd?
)
使用Web报告查看器成功导出所有报告(无论参数如何),但在某些参数上通过reportserver导出失败(HTTP 500)。 SSRS日志中的错误是荒谬的。
Microsoft.ReportingServices.Diagnostics.Utilities.RSException: The Hidden expression for the tablix ‘Tablix5’ contains an error: The expression that references the field 'MyField19' does not exist in the Fields collection. Expressions can only refer to fields within the current dataset scope or, if inside an aggregate, the specified dataset scope. Letters in the names of fields must use the correct case. ---> Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: The Hidden expression for the tablix ‘Tablix5’ contains an error: The expression that references the field 'MyField19' does not exist in the Fields collection. Expressions can only refer to fields within the current dataset scope or, if inside an aggregate, the specified dataset scope. Letters in the names of fields must use the correct case.
列字段肯定存在于数据集中,并在报告中正确引用(我甚至检查了报告的XML)。如果这确实是一个问题,那么为什么报告在Web报表查看器中呈现并在给出相同参数时以PDF格式导出?删除字段只是将错误推送到数据集中的另一个字段。
数据集需要一段时间才能生成(10-60秒)并且SQL查询很大。 SSRS数据集和报告中的计算字段没有自定义控件或VB代码。
我不知道从哪里开始排查。