7

この問題に関して誰かの助けが欲しいです。この問題は、SQL2008 R2 および SQL2012 で EMF 形式のレポートをプログラムでレンダリングすることが機能しないという点で、多くの人を悩ませてきました。

これは、MS Connect を介してここに記録されます: https://connect.microsoft.com/SQLServer/feedback/details/560911/sql-2008-r2-reportexecutionservice2005-broken-with-image-emf#tabs

要約すると、ReportExecutionService オブジェクトの Render メソッドを呼び出すと、後続のページをマップするためにストリーム ID の配列 (出力パラメーターを介して) と共に最初のページが返されます。次に、後続のページごとにそのストリームで RenderStream メソッドを呼び出します。2008 年にはうまく機能します。2008 R2 / 2012 では、ストリーム ID の配列が空に戻ります。つまり、最初のページしか取得できず、役に立たなくなります。

MS が 2012 年の修正プログラムをリリースしたことを嬉しく思います: http://support.microsoft.com/kb/2637802

ただし、ホットフィックスをインストールしたり、再起動したりした後でも、まだ問題があります。ホットフィックスが機能するようになった人はいますか? 同じ経験がありましたか?大規模なレポートの実行可能なソリューションを知っていますか?

ご協力ありがとうございます。スティーブ

4

1 に答える 1

2

複数のページを持つ EMF の場合は、rs:PersistedStreams=Trueおよびrs:GetNextStream=TrueURL アクセス パラメータを使用する必要があります。詳細については、こちらをご覧ください: http://blogs.msdn.com/b/jgalla/...

残念ながら、SSRS Execution Webservice から URL アクセス パラメーターを使用できないため、すぐには役に立ちません。

上記のブログに示されているように WebRequest を作成するか(URL 全体を自分でまとめる必要があります)、次のように ReportViewer コントロールを使用する必要があります: http://blogs.msdn.com/b/brianhartman/.. .

マルチページ EMF の問題についての議論もここにあります。上記のリンクもそこに含まれています。

最後に、SQL 2008 R2 のインストールでテストし、後で SP1 を追加してから SP1 CU6 を追加しました。SP1 CU6 には、これに従って修正プログラムが含まれています。前述のように、すべてのケースで EMF の streamIDs パラメータは空のままでした。とにかく、私のマシンには以前に SQL 2005 がインストールされていましたが、ある時点で 2008 がインストールされていた可能性があります。一部の投稿では、SQL Server の以前のインストールが問題である可能性があることを示しているため、OS のクリーン インストールが役立つ場合があります。これが機能することを切望している場合。

于 2012-06-03T17:35:11.680 に答える