Compartilhar via


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

Para este tutorial, você criará um aplicativo de console simples. Este tutorial pressupõe que você esteja desenvolvendo no Microsoft Visual Studio 2010.

Observação

Ao acessar o serviço Web servidor de relatório em execução no SQL Server Express com Serviços Avançados, você deve acrescentar "_SQLExpress" ao caminho "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 e, em seguida, o Microsoft Visual Studio, as Ferramentas do Visual Studio e, em seguida, o Prompt de Comando do Visual Studio 2010.

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

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

    Se você 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. Você adicionará 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. No painel esquerdo, em Modelos Instalados, clique no Visual Basic ou no nó do Visual C# e selecione uma categoria de tipos de projeto na lista expandida.

  3. Escolha o tipo de projeto aplicativo de console .

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

  5. Na caixa Localização, digite o caminho onde você deseja salvar seu projeto ou clique em Procurar para navegar até a pasta.

  6. Clique em OK. Uma visão recolhida do projeto aparece no Explorador de Soluções.

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

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

    Você também precisará adicionar uma referência ao Services namespace para que sua 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ório, consulte Como criar aplicativos usando o serviço Web e o .NET Framework.

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

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

    O código a seguir fornece os stubs de método que usaremos 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 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   
    

Próxima lição

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

Consulte Também

Atualizando relatórios usando classes geradas a partir do esquema RDL (Tutorial do SSRS)
Linguagem RDL (SSRS)