第 1 課:建立 RDL 結構描述 Visual Studio 專案
在這個教學課程中,您會建立簡單的主控台應用程式。這個教學課程假設您是在 MicrosoftVisual Studio 2005 中進行開發工作。
[!附註]
當您存取在 SQL Server Express with Advanced Services 上執行的報表伺服器 Web 服務時,必須將 "$SQLExpress" 附加至 "ReportServer" 路徑。例如:
http://myserver/reportserver$sqlexpress/reportservice2005.asmx"
建立主控台應用程式
在 [檔案] 功能表上,指向 [新增],然後按一下 [專案] 來開啟 [新增專案] 對話方塊。
展開 [Visual Basic 專案] 或 [Visual C# 專案] 資料夾。
按一下 [主控台應用程式] 圖示。
在 [名稱] 方塊中,輸入專案的名稱。輸入名稱 SampleRDLSchema。
在 [位置] 方塊中,輸入想要儲存專案的路徑,或按一下 [瀏覽] 導覽到資料夾。
按一下 [確定]。專案的摺疊檢視會顯示於 [方案總管] 中。
下一步,您必須將 Web 參考加入 ReportService2005 端點。從 [專案] 功能表按一下 [加入 Web 參考],然後輸入到報表伺服器的 URL 路徑,或是以瀏覽視窗中的選項導覽到該路徑。
選取 [ReportService2005] 端點,輸入 ReportService2005 作為 [Web 參考名稱],然後按一下 [加入參考] 按鈕。
如需有關如何連接到報表伺服器 Web 服務的詳細資訊,請參閱<教學課程:利用 Visual Basic 或 Visual C# 來存取報表伺服器 Web 服務>。
在 [方案總管] 中,展開專案節點。您會看到含有預設名稱 Program.cs (在 Visual Basic 中則為 Module1.vb) 的程式碼檔案已加入專案中。
開啟 Program.cs (在 Visual Basic 中為 Module1.vb) 檔案,然後將程式碼取代成下列項目:
下列程式碼提供方法 stubs,我們將用來實作「載入」、「更新」和「儲存功能」。
using System; using System.Collections.Generic; using System.IO; using System.Text; using System.Xml; using System.Xml.Serialization; using SampleRDLSchema.ReportService2005; namespace SampleRDLSchema { class ReportUpdater { ReportingService2005 _reportService; static void Main(string[] args) { ReportUpdater reportUpdater = new ReportUpdater(); reportUpdater.UpdateReport(); } private void UpdateReport() { try { // Set up the Report Service connection _reportService = new ReportingService2005(); _reportService.Credentials = System.Net.CredentialCache.DefaultCredentials; _reportService.Url = "http://myserver/reportserver/" + "reportservice2005.asmx"; // Call the methods to update a report definition LoadReportDefinition(); UpdateReportDefinition(); PublishReportDefinition(); } catch (Exception ex) { System.Console.WriteLine(ex.Message); } } private void LoadReportDefinition() { //Lesson 2: Load a report definition from the report // catalog } private void UpdateReportDefinition() { //Lesson 3: Update the report definition using the // classes generated from the RDL Schema } private void PublishReportDefinition() { //Lesson 4: Publish the updated report definition back // to the report catalog } } }
Imports System Imports System.Collections.Generic Imports System.IO Imports System.Text Imports System.Xml Imports System.Xml.Serialization Imports SampleRDLSchema.ReportService2005 Namespace SampleRDLSchema Module ReportUpdater Private m_reportService As ReportingService2005 Public Sub Main(ByVal args As String()) Try 'Set up the Report Service connection m_reportService = New ReportingService2005 m_reportService.Credentials = _ System.Net.CredentialCache.DefaultCredentials m_reportService.Url = _ "http://myserver/reportserver/" & _ "reportservice2005.asmx" 'Call the methods to update a report definition LoadReportDefinition() UpdateReportDefinition() PublishReportDefinition() Catch ex As Exception System.Console.WriteLine(ex.Message) End Try End Sub Private Sub LoadReportDefinition() 'Lesson 2: Load a report definition from the report ' catalog End Sub Private Sub UpdateReportDefinition() 'Lesson 3: Update the report definition using the ' classes generated from the RDL Schema End Sub Private Sub PublishReportDefinition() 'Lesson 4: Publish the updated report definition back ' to the report catalog End Sub End Module End Namespace
下一課
在下一課,您將使用 XML 結構描述定義工具 (Xsd.exe),從 RDL 結構描述產生類別,並將類別包含在專案之中。請參閱<第 2 課:使用 xsd 工具,從 RDL 結構描述產生類別>。