Lección 1: Crear el proyecto de Visual Studio de la aplicación Esquema RDL
Para este tutorial creará una aplicación de consola sencilla. En este tutorial se da por supuesto que la programación se realiza con Microsoft Visual Studio 2010.
[!NOTA]
Al tener acceso al servicio web del servidor de informes que se ejecuta en SQL Server Express con Advanced Services, debe agregar "?SQLExpress" a la ruta de acceso de "ReportServer". Por ejemplo:
http://myserver/reportserver_sqlexpress/reportservice2010.asmx"
Crear el proxy del servicio web
En el menú Inicio, seleccione Todos los programas, Microsoft Visual Studio, Visual Studio Tools y, por último, Símbolo del sistema de Visual Studio 2010.
En la ventana del símbolo del sistema, ejecute el siguiente comando si está utilizando C#:
wsdl /language:CS /n:"ReportService2010" http://<Server Name>/reportserver/reportservice2010.asmx?wsdl
Si usa Visual Basic, ejecute el siguiente comando:
wsdl /language:VB /n:"ReportService2010" http://<Server Name>/reportserver/reportservice2010.asmx?wsdl
Este comando genera un archivo .cs o .vb. Agregará este archivo a su aplicación.
Crear una aplicación de consola
En el menú Archivo, seleccione Nuevo y haga clic en Proyecto para abrir el cuadro de diálogo Nuevo proyecto.
En el panel izquierdo, en Plantillas instaladas, haga clic en el nodo Visual Basic o Visual C# y seleccione una categoría de tipos de proyectos en la lista expandida.
Elija el tipo de proyecto Aplicación de consola.
En el cuadro Nombre, escriba el nombre del proyecto. Escriba el nombre SampleRDLSchema.
En el cuadro Ubicación, escriba la ruta de acceso en la que desea guardar el proyecto o haga clic en Examinar para navegar a la carpeta.
Haga clic en Aceptar. En el Explorador de soluciones aparece una vista contraída del proyecto.
En el menú Proyecto, haga clic en Agregar elemento existente.
Navegue a la ubicación para el archivo .cs o vb que generó, seleccione el archivo y haga clic en Agregar.
También necesitará agregar una referencia al espacio de nombres System.Web.Services para que su referencia web funcione.
En el menú Proyecto, haga clic en Agregar referencia.
En la pestaña .NET del cuadro de diálogo Agregar referencia, seleccione System.Web.Services y haga clic en Aceptar.
Para obtener más información sobre cómo conectarse al servicio web del servidor de informes, vea Generar aplicaciones utilizando el servicio web y .NET Framework.
Expanda el nodo del proyecto en el Explorador de soluciones. Verá que se ha agregado un archivo de código con el nombre predeterminado Program.cs (Module1.vb para Visual Basic) al proyecto.
Abra el archivo Program.cs (Module1.vb para Visual Basic) y reemplace el código por lo siguiente:
El siguiente código proporciona los códigos auxiliares del método que se utilizarán para implementar funcionalidad para cargar, actualizar y guardar.
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
Lección siguiente
En la siguiente lección utilizará la herramienta de definición de esquemas XML (Xsd.exe) para generar clases a partir del esquema RDL e incluirlas en el proyecto. Vea Lección 2: Generar clases a partir del esquema RDL con la herramienta xsd.
Vea también
Tasks
Actualizar informes con clases generadas a partir del esquema RDL (Tutorial de SSRS)