您好: 我们的一个客户随机拥有此例外。我们提供了一些重新尝试代码和保持活跃的代码,但它仍然发生。 所以我正在查看客户发送给我们的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.
答案 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>
错误已经消失