共用方式為


第 1 課:建立 RDL 結構描述 Visual Studio 專案

在這個教學課程中,您會建立簡單的主控台應用程式。這個教學課程假設您是在 MicrosoftVisual Studio 2005 中進行開發工作。

[!附註]

當您存取在 SQL Server Express with Advanced Services 上執行的報表伺服器 Web 服務時,必須將 "$SQLExpress" 附加至 "ReportServer" 路徑。例如:

http://myserver/reportserver$sqlexpress/reportservice2005.asmx"

建立主控台應用程式

  1. [檔案] 功能表上,指向 [新增],然後按一下 [專案] 來開啟 [新增專案] 對話方塊。

  2. 展開 [Visual Basic 專案][Visual C# 專案] 資料夾。

  3. 按一下 [主控台應用程式] 圖示。

  4. [名稱] 方塊中,輸入專案的名稱。輸入名稱 SampleRDLSchema。

  5. [位置] 方塊中,輸入想要儲存專案的路徑,或按一下 [瀏覽] 導覽到資料夾。

  6. 按一下 [確定]。專案的摺疊檢視會顯示於 [方案總管] 中。

  7. 下一步,您必須將 Web 參考加入 ReportService2005 端點。從 [專案] 功能表按一下 [加入 Web 參考],然後輸入到報表伺服器的 URL 路徑,或是以瀏覽視窗中的選項導覽到該路徑。

  8. 選取 [ReportService2005] 端點,輸入 ReportService2005 作為 [Web 參考名稱],然後按一下 [加入參考] 按鈕。

    如需有關如何連接到報表伺服器 Web 服務的詳細資訊,請參閱<教學課程:利用 Visual Basic 或 Visual C# 來存取報表伺服器 Web 服務>。

  9. 在 [方案總管] 中,展開專案節點。您會看到含有預設名稱 Program.cs (在 Visual Basic 中則為 Module1.vb) 的程式碼檔案已加入專案中。

  10. 開啟 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 結構描述產生類別>。