Lektion 1: Erstellen des RDL-Schema-Projekts in Visual Studio

In diesem Lernprogramm erstellen Sie eine einfache Konsolenanwendung. Im Zusammenhang mit diesem Lernprogramm wird davon ausgegangen, dass Sie in MicrosoftVisual Studio 2005 entwickeln.

HinweisHinweis

Wenn Sie auf den Berichtsserver-Webdienst zugreifen, der in SQL Server Express with Advanced Services ausgeführt wird, müssen Sie "$SQLExpress" an den "ReportServer"-Pfad anfügen. Beispiel:

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

So erstellen Sie eine Konsolenanwendung

  1. Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt, um das Dialogfeld Neues Projekt zu öffnen.

  2. Erweitern Sie entweder den Ordner Visual Basic-Projekte oder den Ordner Visual C#-Projekte.

  3. Klicken Sie auf das Symbol Konsolenanwendung.

  4. Geben Sie im Feld Name einen Namen für das Projekt ein. Geben Sie den Namen SampleRDLSchema ein.

  5. Geben Sie im Feld Speicherort den Pfad ein, unter dem das Projekt gespeichert werden soll, oder klicken Sie auf Durchsuchen, um zum Ordner zu navigieren.

  6. Klicken Sie auf OK. Eine reduzierte Ansicht des Projekts wird im Projektmappen-Explorer angezeigt.

  7. Anschließend müssen Sie dem ReportService2005-Endpunkt einen Webverweis hinzufügen. Klicken Sie im Menü Projekt auf Webverweis hinzufügen. Anschließend können Sie den URL-Pfad zum Berichtsserver eingeben, oder Sie können mithilfe der Optionen im Suchfenster zum Berichtsserver navigieren.

  8. Wählen Sie den ReportService2005-Endpunkt aus, geben Sie unter Webverweisname die Zeichenfolge ReportService2005 ein, und klicken Sie anschließend auf die Schaltfläche Verweis hinzufügen.

    Weitere Informationen zum Herstellen einer Verbindung mit dem Berichtsserver-Webdienst finden Sie unter Lernprogramm: Zugreifen auf den Berichtsserver-Webdienst mithilfe von Visual Basic oder Visual C#.

  9. Erweitern Sie den Projektknoten im Projektmappen-Explorer. Sie werden feststellen, dass dem Projekt eine Codedatei mit dem Standardnamen Program.cs (bzw. Module1.vb für Visual Basic) hinzugefügt wurde.

  10. Öffnen Sie die Datei Program.cs (Module1.vb für Visual Basic), und ersetzen Sie den Code durch folgenden Code:

    Mit dem folgenden Code werden die Methodenstubs bereitgestellt, die zum Implementieren der Funktionalität zum Laden, Aktualisieren und Speichern verwendet werden.

    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 
    

Nächste Lektion

In der nächsten Lektion generieren Sie mithilfe des XML-Schemadefinitionstools (Xsd.exe) Klassen aus dem RDL-Schema und fügen diese in das Projekt ein. Siehe Lektion 2: Generieren von Klassen aus dem RDL-Schema mithilfe des XSD-Tools.