2009-12-08 40 views
5

我有一個現有的ASP.Net MVC項目,它在一個單獨的項目中使用實體/存儲庫。我需要通過SSRS爲這個項目添加報告功能,我想知道處理數據訪問的最好方法是什麼。在ASP.Net MVC項目中SSRS數據源的最佳實踐

由於我有migrator.net和存儲庫數據層實現我覺得直接使用數據庫和創建數據庫相關的sql是不可能的。我的第一個想法是在我的Web項目中創建一個Web服務並使用它,但這需要我編寫新代碼並維護一個我現在不需要的Web服務。

我的下一個想法是使用我的數據彙編,並利用代碼中現有的存儲庫來填充報告。這可能嗎?我是這個整體的新手,對任何工具都不熟悉。

這通常如何實現?在以前的Java EE項目中,我們總是使用CXF併爲我們的報告工具創建了一個Web服務,但我從來沒有覺得這是最好的解決方案。這通常在.Net/SSRS中如何處理?

+0

這些報告是由SSRS還是您的ASP.net MVC應用程序提供的? – 2009-12-10 00:33:48

+0

我不知道...我只使用SSRS爲客戶簽名創建表單。直接從網絡應用程序直接提供服務會很好。我只是在尋找最簡單最優雅的解決方案。 – 2009-12-10 00:58:11

回答

4

您可以使用報告中的自定義託管代碼程序集。 This linkthis link將幫助您入門。但我應該指出,這不是一項微不足道的任務,可能有很多事情會阻礙實現這一目標。

說實話,我認爲你在試圖達到這個建築的必殺要求一大堆痛苦。它可能會覺得骯髒,但是事情要簡單得多,如果你只是建立一個指向你的數據庫的數據源並讓你的報告使用它(我提到你也可以考慮在數據庫中使用託管代碼SQLCLR程序集嗎?我提到過他們也可能會痛苦地執行?)。

讓SSRS做它最擅長的事情 - 去數據庫並收集數據並呈現它。你可以讓它使用存儲過程。您可以在報告中使用自定義代碼。您可以在網頁中顯示報告,也可以通過web/pdf/doc/xls等單獨生成報告,甚至可以通過電子郵件發送報告。只是不要試圖將它變成一個特定的建築模型,它不是真正爲此設計的 - 你需要聖人的耐心來實現它。

+0

使用網絡服務怎麼樣?這至少可以讓它保持與數據庫不可知的關係,並且受到SSRS的支持。 – 2009-12-11 17:31:48