Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
Crystal Reports e reportistica
[HELP] Error: Fail to render the page.
lunedì 20 febbraio 2006 - 11.42
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
markmark
Profilo
| Newbie
22
messaggi | Data Invio:
lun 20 feb 2006 - 11:42
Ciao a tutti,
Volevo sottoporvi un problema di visualizzazione di un report...
Ho creato un'applicazione che sfrutta la reportistica in Crystal report... finchè sono in Debug e cerco di visualizzare il report va tutto a buon fine... Quando però installo l'applicazione sul server e tento di accedere al report dall'esterno ottengo il seguente errore:
CrystalReportViewer - report
Error: Fail to render the page.
Al posto del Viewer ho un rettangolo giallo.
Spulciando in rete ho letto che è un problema di sicurezza di IIS e che per risolverlo bisogna aggiungere al web.config della propria applicazione il seguente tag:
<identity impersonate="false" />
Il tag l'ho inserito ma la situazione non migliora per niente.
Qualcuno è in grado di aiutarmi...
Ciao e grazie
Programmatore Asp .NET C#
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
lun 20 feb 2006 - 13:30
ciao,
potrebbero esserci vari fattori, qualcosa legato al web config, ma proviamo a procedere per gradi: sulla macchina dove fai il deploy hai installato il runtime di crystal?
ovvero hai fatti 1 pacchetto di setup al quale hai aggiunto i merge module?
http://support.businessobjects.com/communityCS/TechnicalPapers/crnet_deployment.pdf
o se sei in 2005 gli puoi anche dire di avere crystal come prerequisito:
http://blogs.dotnethell.it/freeteo/Post_1190.aspx
fammi sapere...ciao
Matteo Raumer
MCAD.net - net addicted :-)
http://blogs.dotnethell.it/freeteo
markmark
Profilo
| Newbie
22
messaggi | Data Invio:
lun 20 feb 2006 - 14:10
Il progetto di setup è configurato correttamente.
Infatti il problema sorge dopo una recente modifica all'applicazione, prima funzionava tutto correttamente.
In pratica ho aggiunto un nuovo report.
Per installare la modifica non ho reinstallato tutto, ho semplicemente inserito il report e sostituito la pagina che lo visualizza.
Grazie
Programmatore Asp .NET C#
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
lun 20 feb 2006 - 14:46
ciao,
allora sembra 1baco, ma se provi con altri report il problema non succede?
il report nuovo ha percaso 1 sottreport? perche dicono che ci potrebbe essere 1 bug del programma,che risolvi "girandoci intorno" :-)
il link:
http://support.businessobjects.com/library/kbase/articles/c2014843.asp
ciao
Matteo Raumer
MCAD.net - net addicted :-)
http://blogs.dotnethell.it/freeteo
markmark
Profilo
| Newbie
22
messaggi | Data Invio:
lun 20 feb 2006 - 15:16
Nessun sottoreport...
gli altri report della stessa applicazione funzionano correttamente.
Pensi possa essere un bug di crystal report o della mia applicazione?
Se è di crystal report come faccio a girarci intorno?
Ancora grazie per la disponibilità
Programmatore Asp .NET C#
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
lun 20 feb 2006 - 16:39
mmmhhmmm
...
- ovviamente hai specificato il percorso (o da codice il Datasource) del report ed è corretto?
- che differenza ha questo report, immagini embedded, multitabella (devi settare la sorgente per tutte in questo ultimo caso) ?
dovresti provare a capire (o carpire
) quale è la differenza per capire dove va in errore...altrimenti cosi' non saprei dirti nemmeno se si tratta di "baco"...
ciao
Matteo Raumer
MCAD.net - net addicted :-)
http://blogs.dotnethell.it/freeteo
markmark
Profilo
| Newbie
22
messaggi | Data Invio:
lun 20 feb 2006 - 17:42
Allora... vediamo di andare un pò nel dettaglio...
I report, sia funzionanti che non, non hanno nessuna struttura particolare, riportano semplicemente i dati risultanti dalla query in una "griglia".
il codice che uso per il report non funzionante è il seguente:
DatiOrdine ds = new DatiOrdine(); //Richiamo il dataSet
SqlDataAdapter da = new SqlDataAdapter(sqlstmt, hConn); //eseguo la query sul dataAdapter
da.Fill(ds.Tabellone); //popolo il dataSet con i risultati della query
hConn.Close(); //Chiudo la connessione co il DB
if (Request.Params["FattPro"] == null) //Se ho ricevuto il Parametro FattPro allora stampo la fattura proforma
{
rpt.Load(Server.MapPath("Report\\OrderConfirmation.rpt"), CrystalDecisions.Shared.OpenReportMethod.OpenReportByDefault);
}
else //Altrimenti stampo la conferma d'ordine
{
rpt.Load(Server.MapPath("Report\\FattPro.rpt"), CrystalDecisions.Shared.OpenReportMethod.OpenReportByDefault);
}
//rpt definito come ReportDocument
//report definito come ReportViewer
rpt.SetDataSource(ds); //setto il DataSource del ReportDocument
report.ReportSource = rpt; //setto il DataSource del ReportViewer
//Eseguo l'export in pdf del report
DiskFileDestinationOptions Dop = new DiskFileDestinationOptions();
ExportOptions exp = new ExportOptions();
fileName = Session.Contents["NomeUtente"].ToString() + "_ConfermaReport.pdf";
Dop.DiskFileName = Server.MapPath("Report\\" + fileName);
exp = rpt.ExportOptions;
exp.DestinationOptions = Dop;
exp.ExportDestinationType = ExportDestinationType.DiskFile;
exp.ExportFormatType = ExportFormatType.PortableDocFormat;
rpt.Export();
Con questo codice ottengo il messaggio di errore che ti ho detto prima... l'export in pdf va a buon fine, quindi il report viene per forza creato.
Il codice per un report funzionante invece è il seguente:
DatiListino ds = new DatiListino();
SqlDataAdapter da = new SqlDataAdapter(sqlstmt, hConn);
da.Fill(ds.Listino);
hConn.Close();
rpt.Load(Server.MapPath("Report\\Listino.rpt"), CrystalDecisions.Shared.OpenReportMethod.OpenReportByDefault);
rpt.SetDataSource(ds);
report.ReportSource = rpt;
DiskFileDestinationOptions Dop = new DiskFileDestinationOptions();
ExportOptions exp = new ExportOptions();
fileName = Session.Contents["NomeUtente"].ToString() + "_Listino.pdf";
Dop.DiskFileName = Server.MapPath("Report\\" + fileName);
exp = rpt.ExportOptions;
exp.DestinationOptions = Dop;
exp.ExportDestinationType = ExportDestinationType.DiskFile;
exp.ExportFormatType = ExportFormatType.PortableDocFormat;
rpt.Export();
Di fondo non c'è nessuna differenza tra i due codici, tranne che per l'istruzione if/else nel primo listato.
Ripeto... siccome l'export va a buon fine il report deve per forza di cose essere stato creato .
La cosa mi lascia perplesso
Programmatore Asp .NET C#
Torna su
Stanze Forum
Elenco Threads
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 !