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 2010.
Observaçã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
No menu Iniciar, selecione Todos os Programas, Microsoft Visual Studio, Visual Studio Tools e 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 da lista expandida.
Escolha o tipo de projeto de Aplicativo de Console .
Na caixa Nome, digite um nome para seu projeto. Digite o nome SampleRDLSchema.
Na caixa Local, digite o caminho em que você deseja salvar o 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 e clique em Adicionar.
Você também precisará adicionar uma referência ao namespace System.Web.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órios, consulte Criando aplicativos que usam 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 de Program.cs (Module1.vb para o Visual Basic) foi adicionado ao seu projeto.
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 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. Consulte Lição 2: Gerar classes do esquema RDL usando a ferramenta xsd.
Consulte também
Tarefas
Atualizando Relatórios por Meio de Classes Geradas a Partir do Esquema RDL (Tutorial SSRS)