2011-11-07 100 views
9

我們正在尋求在MVC3中升級到現有的ASP.NET應用程序。我們目前的應用程序僅基於IE瀏覽器,升級將是瀏覽器中立,即它必須在IE8 +,Firefox,Chrome和Safari瀏覽器中工作。用於SQL Reporting Services的報表查看器的替代

我們遇到的主要問題是我們有許多基於SQL Reporting Services 2008 R2的報表,並且我們使用Report Viewer 2010控件。

我們真的不希望使用此前進,因爲:

  • 這是越野車(例如,我們不能使用SP1版本呈現HTML 有時會打破我們的網站)
  • 它有問題與非IE瀏覽器(例如IterationId失蹤 URL錯誤)
  • 它是基於視圖狀態
  • 很難定位某些控制的渲染輸出

我真的很想替換它(即使它的視圖狀態爲基礎,我們必須在MVC解決方案中進行破解),但我一直無法找到它。是否有一個替代控件可以呈現Reporting Services報告?這是我們想要替換的觀看者,而不是RS。

+0

更新我自己對他人的評論到目前爲止,還沒有找到MVC的一個,但一直在尋找RS的Web服務引擎。這可能是一個選項。 – GrahamB

+0

我忙於試圖從報告查看器中逃離。我設法使用WCF服務獲得了大部分所需的功能。我遇到的唯一問題是處理鏈接報告。請分享您的經驗,因爲這是將SSRS集成到Web應用程序中最重要的方面之一。 – ntombela

+0

我還沒有嘗試過,但是一旦你找到鏈接報告的API,它看起來很直接:https://msdn.microsoft.com/en-us/library/ms152864.aspx –

回答

1

我們想要將SSRS與現有網站集成,但不想使用SSRS UI(因爲它非常適合自己的網站),我們不想使用報告視圖控件(儘管我們有一個ASP.NET網站,但報表查看器控件對於使其按照您的需要進行操作的選項有限)。我們的解決方案是:

  1. 調用SSRS Web服務以返回報告列表,並將這些值放入下拉列表中。

  2. 從下拉列表中讀取報告路徑並獲取返回所選報告參數的SSRS Web服務。

  3. 根據#2中返回的內容構建輸入控件。

  4. 用戶提供輸入值並提交表單。

  5. 頁面將值傳遞給SSRS Web服務,並根據用戶請求的內容獲取PDF,Excel,Word文檔。

這是不是所有的硬(花了< 40小時的代碼&測試)和作品真的很好。我們遇到的最大問題是,當您從一個SSRS版本遷移到另一個版本時,會支持不同版本的SSRS Web Service。

我猜如果你想以HTML格式輸出報表並將其輸出到UI,你也可以這樣做。

很顯然,如果您希望所有用戶編輯報表屬性,創建訂閱等 - 您將需要做更多工作。

0

我同意你的意見。這真是一個錯誤的控制。我玩我的DOCTYPE設置來調​​整我的html輸出。

如果您可以嘗試商業用途,請查看Telerik控件。

也期待在本次討論:

http://siddhumehta.blogspot.com/2011/07/ssrs-reportviewer-webpart-control.html

+1

我也嘗試嘗試內存泄漏通過WPF中的報表查看器執行大量報表。見http://www.jenasysdesign.com.au/dnn/Blogs/tabid/71/Post/149/WPF-4-SQL-Server-Reporting-Services-processing-application-Memory-Leak –

0

您可以只查看HTML版本,並設置控制,以通過在REST URI的服務,而不是約束。 EG:

http:// (servername)/(ReportServer)/(PathtoReport)&(Parameter=Value)&rs:Command=Render 

我從來沒有嘗試任何超越於「形式」的HTML對象的託管這一點,但如果你能逃脫只使用一個默認的HTML瀏覽器對象並迫使REST URI來有條件我會懷疑。

你也可以,如果你真的想潛入你的ASP.NET代碼中的VB.NET或C#.NET。也許您可以將Reporting Services的字節數組轉換爲一種PDF或HTML格式,然後在查看器中顯示。這可能不是一個可行的解決方案,因爲我不確定您想要以專有格式展示二進制對象,而不是現有調用的Web部分。這可能是更多的工作,並且會更適合於您選擇的PDF,Excel,HTML等類型的呈現。但它可以完成。我基本上做了一個具有邏輯的庫項目,在將代理類從SSRS服務中提出後執行調用。更多關於這裏: Programmatically Export SSRS report from sharepoint using ReportService2010.asmx

相關問題