我正在尝试使用ServerReport.RenderStream
ASP.NET ReportViewer (2008 SP1) 中的方法,但我rsStreamNotFound
从该方法中得到了一个异常。设置参数后,我尝试了下面两行不同的代码。我正在与 SQL Server 2005 和 SSRS 2005 进行交互。我已经看过有关此问题的修补程序的文章,但我真的不想求助于修补程序,因为我不确定 IT 是否可以接受它在。我没有找到太多关于错误的文档
找不到流。提供给操作的流标识符不能位于报表服务器数据库中。请参阅报表服务器数据库。
准备代码:
string mimeType;
string encoding;
List<ReportParameter> parameters = new List<ReportParameter>();
string startDateValue = Request.Form[startDate.UniqueID];
string endDateValue = Request.Form[endDate.UniqueID];
parameters.Add(new ReportParameter("Owner", "5", false));
parameters.Add(new ReportParameter("StartDate", startDateValue, false));
parameters.Add(new ReportParameter("EndDate", endDateValue, false));
ReportViewer1.ServerReport.SetParameters(parameters);
呼叫 1:
byte[] result = ReportViewer1.ServerReport.RenderStream("PDF", string.Empty, string.Empty, out mimeType, out encoding);
呼叫 2:
byte[] result = ReportViewer1.ServerReport.RenderStream("CSV", string.Empty, string.Empty, out mimeType, out encoding);
清理:
Response.Clear();
Response.ContentType = mimeType;
Response.ContentEncoding = System.Text.Encoding.GetEncoding(encoding);
Response.OutputStream.Write(result, 0, result.Length);
关于解决方案的任何想法?最终目标是将其写入 CSV 以供下载。实际上,我对将转换为 CSV.report 服务器数据库的 XML 感到满意。