SQL Reporting Service中的UnhandledReportRenderingException随机发生

时间:2010-10-19 18:16:19

标签: .net sql-server reporting-services

您好: 我们的一个客户随机拥有此例外。我们提供了一些重新尝试代码和保持活跃的代码,但它仍然发生。 所以我正在查看客户发送给我们的SQL日志。我看到了这一点。

所以基本上,其中一份报告在某些领域没有数据。那会是那个问题的原因吗?

library!ReportServer_0-15!150c!10/11/2010-11:50:22:: i INFO: RenderForNewSession('/CMSm5/PharmaPac_Live/Custom/Documents/Purchase Order.Pharma.2008')
processing!ReportServer_0-15!150c!10/11/2010-11:50:23:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: There is no data for the field at position 9., ;
 Info: Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: There is no data for the field at position 9.
webserver!ReportServer_0-15!62c!10/11/2010-11:50:23:: i INFO: Processed report. Report='/CMSm5/PharmaPac_Live/Custom/Documents/Purchase Order.Pharma.2008', Stream=''
library!ReportServer_0-15!13ec!10/11/2010-11:50:50:: Call to GetReportParametersAction(/CMSm5/PharmaPac_Live/Custom/Documents/Purchase Order.Pharma.2008).
library!ReportServer_0-15!13ec!10/11/2010-11:50:51:: i INFO: RenderForNewSession('/CMSm5/PharmaPac_Live/Custom/Documents/Purchase Order.Pharma.2008')
processing!ReportServer_0-15!13ec!10/11/2010-11:50:51:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: There is no data for the field at position 9., ;
 Info: Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: There is no data for the field at position 9.
library!ReportServer_0-15!13ec!10/11/2010-11:50:58:: Call to GetReportParametersAction(/CMSm5/PharmaPac_Live/Custom/Documents/Purchase Order.Pharma.2008).
library!ReportServer_0-15!13ec!10/11/2010-11:50:59:: i INFO: RenderForNewSession('/CMSm5/PharmaPac_Live/Custom/Documents/Purchase Order.Pharma.2008')
processing!ReportServer_0-15!13ec!10/11/2010-11:50:59:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: There is no data for the field at position 9., ;
 Info: Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: There is no data for the field at position 9.

3 个答案:

答案 0 :(得分:0)

它可以在文本框或其他控件中的条件表达式中使用。或者在组/排序/过滤表达式中。

所以大部分时间都没关系,直到某些条件或事件发生,然后它才会找到一个不存在的列。

抱歉有点模糊

底层RDL也可能略有损坏:你可以重新部署吗?

答案 1 :(得分:0)

您可能在数据集中有一个字段,该字段与源存储过程中不再存在的列相对应。该字段可能不再用于报告中,因为如果使用该字段,则在运行报告时会出现真正的错误。

答案 2 :(得分:0)

我的错误是rdl

<DataSets>
  <DataSet Name="testDataSet">
    <Fields>
      <Field Name="ID">
        <DataField />
        <rd:TypeName>System.String</rd:TypeName>
      </Field>
    </Fields>

如您所见 - DataField元素为空。最奇怪的是,这样的RDL由VS报表设计器预览显示,但不会在ReportViewer中显示为本地报表,也不会显示在Web浏览器窗口中的Reporting服务中。 在正确填写DataField并将报告重新部署到报告

之后
<DataField>ID</DataField> 

错误已经消失