0

ServerReport.RenderStreamASP.NET ReportViewer (2008 SP1)のメソッドを使用しようとしていますが、メソッドからrsStreamNotFound例外が発生します。パラメータを設定した後、以下の 2 つの異なるコード行を試しました。私は 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 に満足しています。

4

2 に答える 2

2

RenderStreamは、既存の Stream を取得して別の方法で処理したり、外部リソースをレンダリングしたりするために使用Renderされます。のC#シグネチャRenderStream

public byte[] RenderStream (
    string format,
    string streamId, //cannot be String.Empty!
    string deviceInfo,
    out string mimeType,
    out string encoding
)

2 番目のパラメータstreamIdは、既存のストリームの ID です。を渡していString.Emptyたため、識別子が見つからないというエラーメッセージが表示されます。Render() メソッドout string[] streamsの 1 つからStreamID を取得できます。

public override byte[] Render (
    string format,
    string deviceInfo,
    out string mimeType,
    out string encoding,
    out string fileNameExtension,
    out string[] streams, //"The stream identifiers. You can use them to render external resources (images, for example) that are associated with the report."
    out Warning[] warnings
)

この質問では、Render と RenderStream の使用について詳しく説明します。

(質問が1年前のものであることは承知していますが、見つけたものを投稿して、偶然見つけた人のために投稿したいと思いました。)

于 2014-12-30T18:48:36.213 に答える
0

はい、Renderメソッドは私が望んでいることを正確に実行します。ただし、RenderStreamの経験がある人からの連絡をお待ちしています。

于 2010-10-28T12:15:54.257 に答える