Condividi tramite


Lezione 1: Creazione del progetto di Visual Studio per lo schema RDL

Per questa esercitazione verrà creata una semplice applicazione console. Nell'esercitazione si presuppone che l'ambiente di sviluppo utilizzato sia MicrosoftVisual Studio 2005.

[!NOTA]

Quando si accede al servizio Web ReportServer in esecuzione su SQL Server Express with Advanced Services, è necessario aggiungere "$SQLExpress" al percorso "ReportServer". Ad esempio:

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

Per creare un'applicazione console

  1. Scegliere Nuovo dal menu File e quindi fare clic su Progetto per visualizzare la finestra di dialogo Nuovo progetto.

  2. Espandere la cartella Progetti di Visual Basic o Progetti di Visual C#.

  3. Fare clic sull'icona Applicazione console.

  4. Nella casella Nome immettere un nome per il progetto. Digitare il nome SampleRDLSchema.

  5. Nella casella Percorso immettere il percorso della cartella in cui si desidera salvare il progetto oppure fare clic su Sfoglia per selezionare la cartella.

  6. Fare clic su OK. Il progetto verrà visualizzato in una vista compressa in Esplora soluzioni.

  7. Il passaggio successivo consiste nell'aggiunta di un riferimento Web all'endpoint ReportService2005. Scegliere Aggiungi riferimento Web dal menu Progetto e quindi digitare l'URL per il server di report o individuare il server mediante le opzioni disponibili nella finestra.

  8. Selezionare l'endpoint ReportService2005, digitare ReportService2005 in Nome riferimento Web e quindi fare clic su Aggiungi riferimento.

    Per ulteriori informazioni sulla connessione al servizio Web ReportServer, vedere Esercitazione: Accesso al servizio Web ReportServer con Visual Basic o Visual C#.

  9. Espandere il nodo del progetto in Esplora soluzioni. Al progetto è stato aggiunto un file di codice con il nome predefinito Program.cs (Module1.vb per Visual Basic).

  10. Aprire il file Program.cs (Module1.vb per Visual Basic) e sostituire il codice con quanto segue:

    Il codice seguente fornisce gli stub del metodo da utilizzare per l'implementazione della funzionalità di caricamento, aggiornamento e salvataggio.

    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 
    

Lezione successiva

Nella lezione successiva verrà utilizzato lo strumento per la definizione dello schema XML (Xsd.exe) per generare classi dallo schema RDL e includerle nel progetto. Vedere Lezione 2: Generazione delle classi dallo schema RDL mediante lo strumento xsd.