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ê 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 os 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
No menu Iniciar, selecione Todos os Programas, Microsoft Visual Studio, Ferramentas do Visual Studio e, em seguida, Prompt de Comando do Visual Studio 2010.
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
No menu Arquivo , aponte para Novo e clique em Projeto para abrir a caixa de diálogo Novo Projeto .
No painel esquerdo, em Modelos Instalados, clique em Visual Basic ou no nó Visual C# e selecione uma categoria de tipos de projeto na lista expandida.
Escolha o tipo de projeto Aplicativo de Console .
Na caixa Nome , insira um nome para o projeto. Digite o nome
SampleRDLSchema
.Na caixa Local, digite o caminho onde você deseja salvar seu projeto ou clique em Procurar para navegar até a pasta.
Clique em OK. Uma exibição recolhida de seu projeto aparecerá no Gerenciador de Soluções.
No menu Projeto , clique em Adicionar Item Existente.
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 namespace Services para que a referência da Web funcione.
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 Criando aplicativos usando o serviço Web e o .NET Framework.
No Gerenciador de Soluções, expanda o nó do projeto. Você verá que um arquivo de código com o nome padrão program.cs (Module1.vb para Visual Basic) foi adicionado ao seu projeto.
Abra o arquivo Program.cs (Module1.vb para 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 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 com base no esquema RDL e incluí-las no seu projeto. Confira Lição 2: Gerar classes do esquema RDL usando a ferramenta xsd.
Consulte Também
Atualizando relatórios usando classes geradas por meio do Esquema RDL (Tutorial SSRS)
Linguagem RDL (SSRS)