7

我很想在這個問題上任何人的協助。這個問題一直是許多人的麻煩,因爲在SQL2008 R2和SQL2012中呈現EMF格式的報表在編程上不起作用。SQL報告 - 多頁EMF報告問題

這是通過MS登錄連接這裏:https://connect.microsoft.com/SQLServer/feedback/details/560911/sql-2008-r2-reportexecutionservice2005-broken-with-image-emf#tabs

總之,調用渲染ReportExecutionService對象的方法時,它給迴流ID映射的與陣列沿着第一頁(經由輸出參數)隨後的頁面。然後,您爲每個後續頁面在該流上調用RenderStream方法。 2008年的效果非常好。在2008 R2/2012年,流ID的數組會變回空,這意味着您只能獲得第一頁 - 使其無用。

我很高興地看到,MS發佈的修補程序於2012年進行修復:http://support.microsoft.com/kb/2637802

然而,在安裝修補程序/重啓/等之後,我仍然有問題。有沒有人得到該修補程序的工作?有相同的經歷嗎?瞭解大型報告的可行解決方案?

感謝您的任何幫助。 Steve

+2

嗨約書亞 - 謝謝。我沒有意識到自己一直這麼淡漠(也沒有完全理解它)。我已經回過頭來回答,並給予信貸在哪裏 - 到期。在需要時總是歡迎褲子踢:) – MrCraze

回答

2

對於具有多個頁面的EMF,您必須使用rs:PersistedStreams=Truers:GetNextStream=True URL訪問參數。有關這些人的更多信息:http://blogs.msdn.com/b/jgalla/...

不幸的是,由於您無法使用來自SSRS執行Web服務的URL訪問參數,因此不會立即爲您提供幫助。

你將不得不要麼建立一個WebRequest的如上面blog(你需要把整個URL一起自己),或使用ReportViewer控件,如下所示:http://blogs.msdn.com/b/brianhartman/...

這裏也是一個discussion about the multipage EMF issue。上述鏈接也包括在內。

最後一個注意事項,我測試了SQL 2008 R2的安裝,後來又增加了SP1,然後是SP1 CU6。 SP1 CU6包含根據this的修補程序。 如上所述,在所有情況下,對於EMF,streamIDs參數保留爲空。 無論如何,在我的機器上SQL 2005以前安裝過,也許在某些時候是2008年。有些帖子指出以前安裝的SQL Server可能是一個問題,因此乾淨的OS安裝可能會有所幫助。如果你迫切希望這個工作。

+0

嗨HB,非常感謝你的解決方案。我使用基於第二個鏈接的渲染函數的重載構建了報告。它允許使用我使用的同一個ServerReport對象傳遞rs:PersistStreams參數,並且在2008 R1和SQL 2012中工作,以便輕鬆升級。萬分感謝 - 你是冠軍。 – MrCraze