Share via


Lição 1: Criar o projeto do Visual Studio de esquema RDL

Para este tutorial, você criará um aplicativo de console simples. Este tutorial pressupõe que você está desenvolvendo em Microsoft Visual Studio 2008.

ObservaçãoObservação

Ao acessar o serviço Web Servidor de Relatório que está em execução no SQL Server Express com Advanced Services, é preciso incluir "_SQLExpress" no caminho do "ReportServer". Por exemplo:

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

Para criar o proxy do serviço Web

  1. No menu Iniciar, selecione Todos os Programas, Microsoft Visual Studio, Visual Studio Tools e Prompt de Comando do Visual Studio 2008.

  2. Na janela do prompt de comando, execute o seguinte comando se estiver usando o C#:

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

    Se estiver usando o Visual Basic, execute o seguinte comando:

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

    Esse comando gera um arquivo .cs ou .vb. Adicione esse arquivo ao seu aplicativo.

Para criar um aplicativo de console

  1. No menu Arquivo, aponte para Novo e clique em Projeto para abrir a caixa de diálogo Novo Projeto.

  2. Clique em Visual Basic ou no nó Visual C# no painel Tipos de projeto.

  3. Clique no ícone Aplicativo de Console.

  4. Na caixa Nome, digite um nome para seu projeto. Digite o nome SampleRDLSchema.

  5. Na caixa Local, digite o caminho em que você deseja salvar o projeto ou clique em Procurar para navegar até a pasta.

  6. Clique em OK. Uma exibição recolhida de seu projeto aparecerá no Gerenciador de Soluções.

  7. No menu Projeto, clique em Adicionar Item Existente.

  8. Navegue até o local do arquivo .cs ou .vb gerado, selecione-o e clique em Adicionar.

    Você também precisará adicionar uma referência ao namespace System.Web.Services para que a referência Web funcione.

  9. No menu Projeto, clique em Adicionar Referência.

    Na caixa de diálogo Adicionar Referência, na guia .NET, selecione System.Web.Services e clique em OK.

    Para obter mais informações sobre como se conectar ao serviço Web Servidor de Relatórios, consulte Criando aplicativos que usam o serviço Web e o .NET Framework.

  10. No Gerenciador de Soluções, expanda o nó do projeto. Você verá que um arquivo de código com o nome padrão de Program.cs (Module1.vb para o Visual Basic) foi adicionado ao seu projeto.

  11. Abra o arquivo Program.cs (Module1.vb para o Visual Basic) e substitua o código pelo seguinte:

    O código a seguir fornece os fragmentos de método que serão utilizados para implementar a funcionalidade Carregar, Atualizar e Salvar.

    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 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 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 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 
    

Próxima lição

Na próxima lição, você usará a Ferramenta de Definição de Esquema XML (Xsd.exe) para gerar classes com base no esquema RDL e incluí-las no seu projeto. Consulte Lição 2: Gerar classes do esquema RDL usando a ferramenta xsd.