2009-02-04 75 views
3

我正在尋找與.Net兼容的快速報告服務(專門針對C#)。此外,由於其中許多公司對其定價(例如Cognos)很co it,因此知道它們傾向於多麼昂貴將是有幫助的。與.Net一起使用的快速報告解決方案是什麼?

我們正在從SQL Server 2005數據庫對PDF和Excel進行串行報告。特別是由於每次生成報告的數量(例如6,000 20個印刷頁面報告),我們正在尋找一種快速解決方案。

我們將報告轉儲爲PDF,並將報告FTP通過外部實體供其使用。我們生成約30種不同類型的報告,但我們可能會爲數據庫中的每個關鍵項目生成相同的報告幾千次。每個報告將由5-15個簡單查詢(只有少數連接,有時是一個組)提供。我並不特別關心查詢時間,而是關注渲染到內存流的時間(或者如果這與解決方案的解決方案明顯不同,則將其序列化到磁盤)。

回答

7

如果您已有SQL 2005,則報告服務是免費的。它本機支持向Excel和PDF提交報告,並有相當豐富的文檔和示例來幫助您入門。

設計師被集成到visual studio中,服務器端的管理選項甚至可以使一些相當複雜的訂閱和交付場景變得非常容易完成。例如,數據驅動的訂閱爲您提供了一種內置的方式來驅動通過多個傳遞選項(電子郵件,文件共享等(您可以添加更多))傳遞的報告的計劃創建。

當你說快 - 我認爲SSRS適合這兩種情況。不僅應該加快速度,因爲您已經在使用SQL,因此您瞭解MSFT工具集,但性能和體系結構(輕鬆擴展報告服務器)足以滿足您的要求。

1

我會看看使用Data Dynamics Active Reporting click here。您可以使用它們與Crystal Reports類似,可以將它們設置爲導出爲PDF,Excel,Word等。

1

您將Reporting Services作爲標記 - 您是否看過SQL Server Reporting Services?它的確在Excel報告中提供了PDF &。我無法一次說出6000份20頁報告的速度(6000份報告)。

4

Cognos,SAP Business Objects,Oracle BI套件,MicroStrategy和Reporting Services在從各自的報告構建器呈現到Excel和PDF時的性能基本相當。如果您嘗試輸出太大的報告,它們都可能會遇到內存錯誤。頁數不是報告大小的好指標。您可以擁有1頁的報告,可以輸出HTML中的100萬行或20頁的報告,每頁報告只能輸出40行。由於內存限制,1頁報表可能無法呈現,並且20頁的報表可能不會出現渲染問題。

Cognos和Business Objects通常會在初始許可費用和年度維護支持合同費用上花費數十萬美元。如果您已經在使用SQL Server 2000/2005/2008,Reporting Services顯然不存在此問題。如果您只運行Oracle,MySQL或其他非Microsoft數據庫後端,那麼僅爲報告購買SQL Server可能從許可證角度來看,它更便宜。但是,如果你的公司沒有SQL Server方面的專業知識,從操作開銷的角度來看,它可能會更加昂貴。我不建議使用Reporting Services作爲非Microsoft數據庫的前端。在那裏,做到了,不值得。 Reporting Services可能適用於非Microsoft數據庫,但如果您是非Microsoft數據庫商店,Cognos和Business Objects可以更好地抽取數據庫。

您可能想要確定是否要支持允許非IT最終用戶構建報表。如果您正在爲最終用戶尋找一個好的解決方案,那麼使用Analysis Services構建OLAP多維數據集並通過Excel爲他們提供訪問權限。無需爲他們提供基於Web的報告生成器。如果您爲最終用戶提供基於Web的報告生成器,則只需要提供Universe /框架/模型擴展。

1

如果您確實需要良好的性能,您可能需要構建自己的報告服務,而不是使用預先構建的報告服務。這當然會限制靈活性,但如果事先知道您的報告,那麼使用第三方excel庫進行報告將非常容易。

向PDF報告將更加困難,但使用xsl-fo和構建pdf文檔可能是一個很好的解決方案,這取決於您的需求。

相關問題