Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Per questa esercitazione verrà creata una semplice applicazione console. Questa esercitazione presuppone che si stia sviluppando in Microsoft Visual Studio 2010.
Nota
Quando si accede al servizio Web del server di report in esecuzione in SQL Server Express con Servizi avanzati, è 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, quindi Microsoft Visual Studio, quindi Strumenti di Visual Studio, quindi Visual Studio 2010 Prompt dei comandi.
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 e quindi fare clic su Progetto per aprire la finestra di dialogo Nuovo progetto.
Nel riquadro sinistro, in Modelli installati, fare clic su Visual Basic o sul nodo Visual C# e selezionare una categoria di tipi di progetto dall'elenco espanso.
Scegliere il tipo di progetto Applicazione console .
Nella casella Nome immettere un nome per il progetto. Digitare il nome
SampleRDLSchema
.Nella casella Percorso digitare il percorso in cui salvare il progetto oppure fare clic su Sfoglia per passare alla cartella.
Fare clic su OK. Il progetto verrà visualizzato in una vista compressa in Esplora soluzioni.
Nel menu Progetto fare clic su Aggiungi elemento esistente.
Passare al percorso per il file con estensione cs o vb generato, quindi selezionare il file e quindi fare clic su Aggiungi.
È inoltre necessario aggiungere un riferimento allo spazio dei nomi Services per il riferimento Web da utilizzare.
Scegliere Aggiungi riferimento dal menu Progetto.
Nella scheda .NET della finestra di dialogo Aggiungi riferimento selezionare System.Web.Services e quindi fare clic su OK.
Per altre informazioni su come connettersi al servizio Web del server di report, vedere Compilazione di applicazioni tramite il 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 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
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: Generare classi dallo schema RDL usando lo strumento xsd.
Vedere anche
Aggiornamento dei report mediante le classi generate dallo schema RDL (esercitazione SSRS)
Report Definition Language (SSRS)