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 に答える