所以我试图在asp中使用reportviewer控件查看远程ssrs报告。该报告有三个参数 - 一个nvarchar和两个日期时间。传递单个nvarchar工作正常,直到我添加了两个日期时间,此时我得到以下错误。所以一定有一些问题。我一直都会遇到可怕的错误:
Parameter validation failed. It is not possible to provide valid values for all parameters. (rsParameterError)
尽管传递了所有三个参数的值,但仍然如此。我猜这是日期字符串中的/字符的问题,所以我尝试编码那些url,但无济于事。我可以确认此报告确实从报告服务运行,但我似乎无法从我的代码中正确传递参数值。建议?
我的代码如下
string firstdate = datepicker.Value;
string enddate = datepicker2.Value;
firstdate = HttpUtility.UrlEncode(firstdate);
enddate = HttpUtility.UrlEncode(enddate);
ReportParameter[] parm = new ReportParameter[3];
parm[0] = new ReportParameter("store_name", DropDownList1.SelectedValue);
parm[1] = new ReportParameter("mindate",firstdate);
parm[2] = new ReportParameter("maxdate", enddate);
ReportViewer1.ServerReport.ReportPath = "<REDACTED>";
ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://<REDACTED>/ReportServer");
ReportViewer1.ServerReport.ReportServerCredentials = new ReportServerCredentials("<REDACTED>", "<REDACTED>", "");
ReportViewer1.ProcessingMode = ProcessingMode.Remote;
ReportViewer1.ServerReport.SetParameters(parm);
ReportViewer1.ServerReport.Refresh();
答案 0 :(得分:0)
原来.rdl文件坏了,但我不知道怎么做。完全重新创建报告似乎解决了这个问题。