3

我正在使用 C# 呈现来自 SRSS 2008 R2 的报告 该报告具有参数,并且很长一段时间以来我在呈现输出时都没有问题。然而今天它决定它不去工作!

这是错误

ReportServerException: This report requires a default or user-defined value for the report parameter 'CustomFieldId'. To run or subscribe to this report, you must provide a parameter value. (rsReportParameterValueNotSet): Stack: at Microsoft.Reporting.WebForms.ServerReportSoapProxy.OnSoapException(SoapException e)

这是代码:

ReportViewer rv = new ReportViewer();
rv.ShowCredentialPrompts = true;
rv.ProcessingMode = ProcessingMode.Remote;
rv.ServerReport.ReportServerUrl = new Uri(ReportsClient.ReportServerUrl);
rv.ServerReport.ReportPath = string.Format("/Reports/{0}", item.Name);
rv.ServerReport.SetParameters(thisLoopParams.ToArray());
rv.ServerReport.Timeout = -1;
rv.ServerReport.Refresh();

// render the report
string mimeType = string.Empty;
string extention = string.Empty;
string encoding = string.Empty;
string[] streamIds;
Microsoft.Reporting.WebForms.Warning[] warnings = null;

byte[] result = rv.ServerReport.Render(outputFormat, deviceInfo, out mimeType, out encoding, out extention, out streamIds, out warnings);

如果我检查thisLoopParams,我可以清楚地看到“CustomFieldId”ReportParameter并且它肯定有一个值,但错误仍然出现。

有任何想法吗?

4

2 回答 2

2

找到了。我看了看,ReportParameterInfoCollection paramInfo = rv.ServerReport.GetParameters();发现一些参数是“无效的”。我知道为什么,但我有点被“未提供”的原始错误所抛弃。我猜这是因为我自豪的有效值我们只是打折了

谢谢

于 2013-02-07T13:12:58.663 回答
1


当我传递“XYZ”字段的值时,我面临同样的问题,但它说

此报告需要报告参数的默认值或用户定义的值

当我看到“XYZ”的值时,当我删除这个空间时,它在开始时有额外的空间,它出人意料地开始工作。我不知道原因,但它有效。希望它可以帮助你。

于 2014-04-11T22:20:25.653 回答