文章編號: 875447 - 上次校閱: 2007年4月3日 - 版次: 2.3

如何建立範例應用程式使用報告服務 SOAP API 來呈現網頁上為選取的檔案格式報表

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

簡介

本文將逐步告訴您,如何建立範例 Microsoft ASP.NET Web 應用程式,使用 Microsoft SQL Server 2000 報告服務 SOAP API 和 Microsoft SQL Server 2005 報告服務 SOAP API 來執行下列:
  • 轉譯部署在如.pdf 檔案格式的支援的檔案格式的報表伺服器上一個報表。
  • 開啟而不儲存檔案的 Web 網頁上呈現的報表對應到您的電腦上呈現報表。
附註若要呈現報告,以要求的檔案格式使用 ASP.NET Web 應用程式,支援檔案格式的程式必須安裝在您的電腦上。比方說欲呈現至.pdf 檔案格式的報表 Adobe Acrobat 讀取器必須安裝在您的電腦上。

其他相關資訊

您可以使用報表服務來產生報表,您就可以使用報表管理員 」 檢視報表。報表管理員 」 是包含在報告服務。利用報表管理員 」 可呈現您所支援的報告服務的不同檔案格式的報表。要呈現特定檔案格式的報表,請依照下列步驟執行:
  1. 啟動 「 報表管理員 」。
  2. 找出您的報表在 「 報表管理員 」 中,然後按一下 [預覽報表報表。
  3. 在 [選取一種格式] 清單中,按一下您要用來呈現您的報表的檔案格式,然後按一下 [匯出]。
按一下 [匯出 報表管理員 」 之後 [檔案下載] 對話方塊隨即開啟。檔案下載] 對話方塊提供將呈現的報表儲存在電腦上的選項。即使在開啟報表而不儲存報告時,會對應到呈現報表的檔案被建立在您的電腦上的。

如果想要呈現要求的檔案格式的報表而不需要建立檔案對應到您的電腦上呈現報表即可使用 Render 方法中報告服務 SOAP API。如需更多有關資訊 Render 方法為 SQL Server 2000 報表服務,請造訪下列 Microsoft 網站:
http://msdn2.microsoft.com/en-us/library/aa225827(SQL.80).aspx (http://msdn2.microsoft.com/en-us/library/aa225827(SQL.80).aspx)
如需更多有關資訊 Render 方法為 SQL Server 2005 報表服務,請造訪下列 Microsoft 網站:
http://msdn2.microsoft.com/en-us/library/microsoft.wssux.reportingserviceswebservice.rsexecutionservice2005.reportexecutionservice.render.aspx (http://msdn2.microsoft.com/en-us/library/microsoft.wssux.reportingserviceswebservice.rsexecutionservice2005.reportexecutionservice.render.aspx)
如果要建立範例 ASP.NET Web 應用程式轉譯會部署至所要求的檔案格式的報表伺服器上一個報表,並呈現的報表以開啟之 Web 網頁上使用報告服務 SOAP API,請依照下列步驟執行。

附註這個範例應用程式呈現公司業績範例報表為.pdf 檔案格式。因此,您必須確定公司業績範例報表部署在您的報表伺服器 SampleReports 資料夾中。 您也必須確定程式 (如 Adobe Acrobat 讀取器安裝在電腦上才能執行這個應用程式。

使用 Microsoft Visual Studio.NET 2003年來轉譯 SQL Server 2000 報表服務或 SQL Server 2005 報表服務中包含 [公司業績範例報表

  1. 啟動 Microsoft Visual Studio.NET 2003年。
  2. 在 [檔案] 功能表上按一下 [新增],然後按一下 [專案]。
  3. 在 [新增專案] 對話方塊的 專案類型,] 下按一下 [Visual C# 專案]。
  4. 在 [新增專案] 對話方塊中,範本,] 下方按一下 ASP.NET Web 應用程式
  5. 在 [位置] 方塊輸入 http:// ReportServerName / RenderCompanySales,然後按一下 [確定] 以建立專案。
  6. 將 Web 參考加入至 ReportService Web 服務。要這麼做,請您執行下列步驟:
    1. 在 [專案] 功能表上按一下 加入 Web 參考
    2. 在 [加入 Web 參考] 對話方塊在 [URL] 方塊輸入 http:// ReportServerName /ReportServer/ReportService.asmx],然後再按一下 [Go]。
    3. 在 [Web 參考名稱] 方塊鍵入 RSWebReference,然後按一下 [加入參考]。
  7. 在左邊窗格的下 工具箱,按一下 [Web Form,然後再連按兩下 按鈕 若要將按鈕控制項加入至 Web 表單。
  8. 使用下列資訊來設定按鈕控制項的屬性:
    • (ID)RenderTest
    • 文字Render 報表在 PDF 格式
  9. 按一下 [檢視] 功能表 程式碼
  10. 在 [程式碼] 視窗的頂端加入下列程式碼:
    using RenderCompanySales.RSWebReference;
  11. 為您的程式碼中之 RenderTest 按鈕 Click 事件的事件處理常式中加入以下方法:
    		private void RenderTest_Click(object sender, System.EventArgs e)
    		{
    			RSWebReference.ReportingService rs = new RSWebReference.ReportingService(); 
    			rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
    
    			Byte[] result; 
    
    			string encoding;
    			string mimetype;
    			ParameterValue[] parametersUsed;
    			Warning[] warnings;
    			string[] streamids;
    
    			result = rs.Render("/SampleReports/Company Sales","PDF",null,null,null,null,null,out encoding,out mimetype,out parametersUsed,out warnings,out streamids); 
    						
    			Response.ClearContent();
    			Response.AppendHeader("content-length", result.Length.ToString());
    			Response.ContentType = "application/pdf";
    			Response.BinaryWrite(result);
    			Response.Flush();
    			Response.Close();
    		}
    
  12. 在 [偵錯] 功能表上按一下 [開始] 執行程式碼]。
  13. WebForm1] Web 頁面中,按一下 Render 報表以 PDF 格式

使用 Microsoft Visual Studio 2005 來轉譯包含在 SQL Server 2005 報表服務 [公司業績範例報表

  1. 啟動 Microsoft Visual Studio 2005。
  2. 在 [檔案] 功能表上按一下 [新增],然後按一下 [網站]。
  3. 在 [新增網站] 對話方塊按一下 [Visual Studio 安裝範本,] 下的 [ASP.NET 網站
  4. 按一下 [位置] 清單中的 [HTTP],然後輸入 http:// ReportServerName / RenderCompanySales位置] 清單旁的方塊中
  5. 在 [語言] 清單按一下 [Visual C#,再按 [確定]
  6. 將 Web 參考加入至 ReportService Web 服務。要這麼做,請您執行下列步驟:
    1. 在 [網站] 功能表上按一下 加入 Web 參考
    2. 在 [加入 Web 參考] 對話方塊在 [URL] 方塊輸入 http:// ReportServerName /ReportServer/ReportExecution2005.asmx],然後再按一下 [Go]。
    3. 在 [Web 參考名稱] 方塊鍵入 RSWebReference,然後按一下 [加入參考]。
  7. 在 [檢視] 功能表上按一下 [專案設計工具,然後再將 Button 控制項加入至 Web 表單。
  8. 使用下列資訊來設定 按鈕 控制項的屬性:
    • (ID)RenderTest
    • 文字Render 報表在 PDF 格式
  9. 按一下 [檢視] 功能表 程式碼
  10. 將下列程式碼加入程式碼視窗的頂端:
    using RSWebReference;
  11. Add the following method as the event handler of the click event for the RenderTest button in your code.
    protected void RenderTest_Click(object sender, EventArgs e)
        {
            ReportExecutionService rs = new ReportExecutionService();
            rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
    
            // Render arguments
            byte[] result = null;
            string reportPath = "/AdventureWorks Sample Reports/Company Sales";
            string format = "PDF";
            string historyID = null;
    
            string encoding;
            string mimeType;
            string extension;
            Warning[] warnings = null;
            string[] streamIDs = null;
    
            ExecutionInfo execInfo = new ExecutionInfo();
            ExecutionHeader execHeader = new ExecutionHeader();
    
            rs.ExecutionHeaderValue = execHeader;
    
            execInfo = rs.LoadReport(reportPath, historyID);
    
            String SessionId = rs.ExecutionHeaderValue.ExecutionID;
    
            result = rs.Render(format, null, out extension, out encoding, out mimeType, out warnings, out streamIDs);
    
            Response.ClearContent();
            Response.AppendHeader("content-length", result.Length.ToString());
            Response.ContentType = "application/pdf";
            Response.BinaryWrite(result);
            Response.Flush();
            Response.Close();
    
        }
  12. 在 [偵錯] 功能表上按一下 [開始偵錯] 執行程式碼]。
  13. 在 Visual Studio 2005 便會開啟 Web 網頁上, 按一下 [在 PDF 格式呈現報表

?考

如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
842854? (http://support.microsoft.com/kb/842854/ ) ReportingService.Render 方法主題、 ReportingService.CreateDataDrivenSubscription 方法] 主題,並報告服務線上叢書 》 中的 [ReportingService.CreateReportHistorySnapshot 方法] 主題中的文件錯誤

這篇文章中的資訊適用於:
  • Microsoft SQL Server 2000 Reporting Services
  • Microsoft SQL Server 2005 Reporting Services
關鍵字:?
kbmt kbsql2005rs kbreport kbwebforms kbwebservices kbprogramming kbappdev kbinfo kbhowto KB875447 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:875447? (http://support.microsoft.com/kb/875447/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。