Il parametro creato non esiste sul report

martedì 23 aprile 2013 - 11.38
Tag Elenco Tags  C#  |  .NET 4.0  |  Windows Server 2008 R2  |  Windows XP  |  Visual Studio 2010  |  Visual Studio 2008  |  SQL Server 2008 R2  |  Office 2007  |  Internet explorer 8.0  |  Javascript  |  VBScript  |  SQL Reporting Services

Barabas Profilo | Junior Member

Salve,
ho ereditato la gestione di una piccola applicazione web (aspx, C# e VS2008) che stampa un report, credo utilizzando reporting services.
purtroppo non ho documentazione riguardante l'applicazione e non conosco reporting services.

devo fare una semplice modifica, aggiungere un parametro al report e cambiare una immagine a seconda del valore del parametro.

ho modificato il report che trovo nel trovo nella soluzione, aggiungendo il parametro, ma ricevo l'errore

Parameter 'xxxxx' does not exist on this report

su questa riga di codice: ReportViewer1.ServerReport.SetParameters(p);

Spero che possiate aiutarmi, grazie.
Barabas

freeteo Profilo | Guru

Ciao Barabas,
ad occhio sì, stai usando Sql Reporting.

Non so però se stai usando un server di report (quindi un motore installato che gira etc...) oppure usa versione "Locale" del report, che di solito è la situazione più standard, perchè lo scenario è spesso di disegnare un report in visual studio, e poi visualizzarlo passandoci una sorgente dati, il tutto dentro all'applicazione (web o windows che sia).
Quindi tutto senza l'ausilio di motori in esecuzione, basta caricare e passare i dati da visualizzare in un RepotrViewer.

Capito questo (e appunto dipende dal codice) capiamo meglio dove sta, ad esempio potrebbe banalmente essere il nome, il tipo, oppure appunto, che va passato tramite "LocalReport" e non "ServerReport"...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

Barabas Profilo | Junior Member

in effetti si tratta di un'applicazione web, i cui report funzionano tramite un server di report.
ci ho messo un bel po' per capire come utilizzare il server di report e alla fine ho risolto, l'errore era banale perchè l'applicazione in effetti non chiamava il report che effettivamente avevo modificato aggiungendo il parametro. anzi il report che trovavo nella soluzione dell'applicazione web .net non aveva niente a che fare col report effettivamente utilizzato, era un vecchio back up.

non avevo mai utilizzato prima un server di report, e ti sarei grato se potessi darmi comunque alcuni consigli:
qual è il modo migliore di modificare un report distribuito tramite un server? io per ora faccio così: lo scarico in locale, lo modifico con visual studio e poi lo ricarico sul server.

inoltre ad un livello più teorico, qual è il vantaggio di usare un server di report invece del metodo più comune (versione "LOCALE")?
Barabas

freeteo Profilo | Guru

>qual è il modo migliore di modificare un report distribuito tramite
>un server? io per ora faccio così: lo scarico in locale, lo modifico
>con visual studio e poi lo ricarico sul server.
effettivamente è il metodo che conosco anche io...


>inoltre ad un livello più teorico, qual è il vantaggio di usare
>un server di report invece del metodo più comune (versione "LOCALE")?
a livello di output è lo stesso (chiaramente a parità di dati) ma a livello "tecnico" ci sono alcune differenze:
1) Puoi demandare alccune operazioni sui report (come ad esempio scheduling di esecuzione di report)
2) Potresti dare ad un utente una parte "attiva" sulla gestione dei report, usando ReportBuilder

Di contro hai:
1) Ovviamente hai bisogno di una macchina (o cmq di un servizio) per il report server.

Poi io spesso lavorando con applicativi Win32, ho preso la "mania" di avere la mia app "atomica" il più possible, senza bisogno di cose da installare/configurare quando la distribuisco.
Ad esempio, il codice è praticamente lo stesso in applicazione Win32 con la versione locale sei portabile (fai un deploy con referenziate correttamente le librerie di runtime) e vai di copia-incolla o meglio ancora ClickOnce senza problemi.
Nel caso di web non si applica questo ragionamento, ma anche lì, se guardiamo bene, magari non hai a disposizione l'amministrazione del server, ad esempio se vai su qualche cloud è facile che ti trovi asp.net, ma un server di report è già più difficile...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

Barabas Profilo | Junior Member

grazie,
vedo che la pensiamo allo stesso modo, anche io preferisco realizzare applicazioni "atomiche", ma questa purtroppo non le ho fatte io, e comunque è una web application, forse per le web application è meglio utilizzare report distribuiti tramite report server?
ciao
Barabas
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5