Lezione 1: Creazione del progetto di Visual Studio per lo schema RDL
Per questa esercitazione verrà creata una semplice applicazione console. Nell'esercitazione si presuppone che l'ambiente di sviluppo utilizzato sia Microsoft Visual Studio 2008.
Nota
Quando si accede al servizio Web ReportServer in esecuzione su SQL Server Express with Advanced Services, è necessario aggiungere "_SQLExpress" al percorso "ReportServer". Ad esempio:
http://myserver/reportserver_sqlexpress/reportservice2010.asmx"
Per creare il proxy del servizio Web
Dal menu Start, selezionare Tutti i programmi, Microsoft Visual Studio, Visual Studio Tools, quindi scegliere l'opzione relativa al prompt dei comandi di Visual Studio 2008.
Nella finestra del prompt dei comandi, eseguire il comando seguente se si utilizza C#:
wsdl /language:CS /n:"ReportService2010" http://<Server Name>/reportserver/reportservice2010.asmx?wsdl
Se si utilizza Visual Basic, eseguire il comando seguente:
wsdl /language:VB /n:"ReportService2010" http://<Server Name>/reportserver/reportservice2010.asmx?wsdl
Questo comando genera un file con estensione cs o vb. Questo file verrà aggiunto all'applicazione.
Per creare un'applicazione console
Scegliere Nuovo dal menu File, quindi fare clic su Progetto per visualizzare la finestra di dialogo Nuovo progetto.
Fare clic su Visual Basic o sul nodo Visual C# nel riquadro Tipi progetto.
Fare clic sull'icona Applicazione console.
Nella casella Nome immettere un nome per il progetto. Digitare il nome SampleRDLSchema.
Nella casella Percorso immettere il percorso della cartella in cui si desidera salvare il progetto oppure fare clic su Sfoglia per selezionare la cartella.
Fare clic su OK. Il progetto verrà visualizzato in una vista compressa in Esplora soluzioni.
Scegliere Aggiungi elemento esistente dal menu Progetto.
Passare al percorso del file con estensione cs o vb generato, quindi selezionare il file e fare clic su Aggiungi.
È inoltre necessario aggiungere un riferimento allo spazio dei nomi System.Web.Services per il riferimento Web da utilizzare.
Scegliere Aggiungi riferimento dal menu Progetto.
Nella finestra di dialogo Aggiungi riferimento, nella scheda .NET selezionare System.Web.Services, quindi fare clic su OK.
Per ulteriori informazioni sulla connessione al servizio Web ReportServer, vedere Compilazione di applicazioni tramite servizio Web e .NET Framework.
Espandere il nodo del progetto in Esplora soluzioni. Al progetto è stato aggiunto un file di codice con il nome predefinito Program.cs (Module1.vb per Visual Basic).
Aprire il file Program.cs (Module1.vb per Visual Basic) e sostituire il codice con quanto segue:
Il codice seguente fornisce gli stub del metodo da utilizzare per l'implementazione della funzionalità di caricamento, aggiornamento e salvataggio.
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
Lezione successiva
Nella lezione successiva verrà utilizzato lo strumento per la definizione di XML Schema (Xsd.exe) per generare classi dallo schema RDL e includerle nel progetto. Vedere Lezione 2: Generazione delle classi dallo schema RDL mediante lo strumento xsd.
Vedere anche