Freigeben über


Lektion 1: Erstellen des RDL-Schemaprojekts in Visual Studio

In diesem Lernprogramm erstellen Sie eine einfache Konsolenanwendung. In diesem Tutorial wird davon ausgegangen, dass Sie in Microsoft Visual Studio 2010 entwickeln.

Hinweis

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

http://myserver/reportserver_sqlexpress/reportservice2010.asmx"

So erstellen Sie den Webdienstproxy

  1. Wählen Sie im StartmenüAlle Programme, dann Microsoft Visual Studio, dann Visual Studio-Tools und dann Visual Studio 2010-Eingabeaufforderung aus.

  2. Führen Sie den folgenden Befehl im Eingabeaufforderungsfenster aus, wenn Sie C# verwenden:

    wsdl /language:CS /n:"ReportService2010" http://<Server Name>/reportserver/reportservice2010.asmx?wsdl  
    

    Wenn Sie Visual Basic verwenden, führen Sie dann den folgenden Befehl aus: ///

    wsdl /language:VB /n:"ReportService2010" http://<Server Name>/reportserver/reportservice2010.asmx?wsdl  
    

    Dieser Befehl generiert eine .cs oder eine .vb-Datei. Sie fügen diese Datei der Anwendung hinzu.

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. Klicken Sie im linken Bereich unter Installierte Vorlagen entweder auf Visual Basic oder den Knoten Visual C# , und wählen Sie in der erweiterten Liste eine Kategorie von Projekttypen aus.

  3. Wählen Sie den Projekttyp Konsolenanwendung aus.

  4. Geben Sie im Feld Name einen Namen für Ihr Projekt ein. Geben Sie den Namen SampleRDLSchemaein.

  5. Geben Sie im Feld Speicherort den Pfad ein, in dem Sie Ihr Projekt speichern möchten, 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. Klicken Sie im Menü Projekt auf Vorhandenes Element hinzufügen.

  8. Navigieren Sie zum Speicherort für die von Ihnen generierte CS- oder VB-Datei, wählen Sie dann die Datei aus, und klicken Sie dann auf Hinzufügen.

    Damit der Webverweis funktionsfähig ist, muss auch dem Services-Namespace ein Verweis hinzugefügt werden.

  9. Klicken Sie im Menü Projekt auf Verweis hinzufügen.

    Wählen Sie im Dialogfeld Verweis hinzufügen auf der Registerkarte .NETdie Option System.Web.Services aus, und klicken Sie dann auf OK.

    Weitere Informationen zum Herstellen einer Verbindung mit dem Berichtsserver-Webdienst finden Sie unter Erstellen von Anwendungen mithilfe des Webdiensts und des .NET Framework.

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

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

    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 ReportService2010;  
    
    namespace SampleRDLSchema  
    {  
        class ReportUpdater  
        {  
            ReportingService2010 _reportService;  
    
            static void Main(string[] args)  
            {  
                ReportUpdater reportUpdater = new ReportUpdater();  
                reportUpdater.UpdateReport();  
            }  
    
            private void UpdateReport()  
            {  
                try  
                {  
                    // Set up the Report Service connection  
                    _reportService = new ReportingService2010();  
                    _reportService.Credentials =  
                        System.Net.CredentialCache.DefaultCredentials;  
                    _reportService.Url =  
                       "http://<Server Name>/reportserver/" +  
                                       "reportservice2010.asmx";  
    
                    // Call the methods to update a report definition  
                    LoadReportDefinition();  
                    UpdateReportDefinition();  
                    PublishReportDefinition();  
                }  
                catch (Exception ex)  
                {  
                    System.Console.WriteLine(ex.Message);  
                }  
            }  
    
            private void LoadReportDefinition()  
            {  
                //Lesson 3: Load a report definition from the report   
                //          catalog  
            }  
    
            private void UpdateReportDefinition()  
            {  
                //Lesson 4: Update the report definition using the    
                //          classes generated from the RDL Schema  
            }  
    
            private void PublishReportDefinition()  
            {  
                //Lesson 5: 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 ReportService2010  
    
    Namespace SampleRDLSchema  
    
        Module ReportUpdater  
    
            Private m_reportService As ReportingService2010  
    
            Public Sub Main(ByVal args As String())  
    
                Try  
                    'Set up the Report Service connection  
                    m_reportService = New ReportingService2010  
                    m_reportService.Credentials = _  
                        System.Net.CredentialCache.DefaultCredentials  
                    m_reportService.Url = _  
                        "http:// <Server Name>/reportserver/" & _  
                               "reportservice2010.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 3: Load a report definition from the report   
                '          catalog  
            End Sub  
    
            Private Sub UpdateReportDefinition()  
                'Lesson 4: Update the report definition using the   
                '          classes generated from the RDL Schema  
            End Sub  
    
            Private Sub PublishReportDefinition()  
                'Lesson 5: 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.

Weitere Informationen

Aktualisieren von Berichten mithilfe von Klassen, die aus dem RDL-Schema generiert wurden (SSRS-Lernprogramm)
Berichtsdefinitionssprache (Report Definition Language, RDL) (SSRS)