Passaggio da ASP a .NET

martedì 27 febbraio 2007 - 17.10

ducky Profilo | Junior Member

Ciao a tutti,
sto convertendo un'applicazione da ASP tradizionale a .NET, e sono ahimé arrivato al problema maggiore, ovvero Crystal Reports.

Un report che in ASP funzionava a meraviglia (e velocemente, con l'ActiveX Viewer) non funziona più con .NET.
Andando per gradi, ecco gli errori / anomalie riscontrate:

- se non specifico nessuna query da codice (e quindi mi estrae tutti i dati, in base alla query "base" del report), il report funziona (pur lentamente);

- se provo a scrivere le query da codice (IDENTICHE, senza modificare nulla) innanzitutto mi da errori Oracle che con ASP non mi da, ad esempio mi dice che i campi estratti non fanno parte della clausola GROUP BY...

- dopo aver aggiunto questa clausola (ripeto, non capisco perché visto che in ASP non mi dava nessun errore) mi visualizza una lunga serie di "nomi dipendente" all'inizio del report;

- il campo data che utilizzo per raggruppare i dati non è più visualizzato;

- una volta che ho scritto tutte le query da codice (ho 4 subreports), la pagina rimane appesa e non carica mai il report.

Insomma, una serie di errori e anomalie che sinceramente non riesco a spiegarmi: se il report è corretto, perché ho tutte queste problematiche, pur non avendolo modificato?

Grazie

freeteo Profilo | Guru

Ciao,
Innanzitutto ti consiglio se puoi di non usare mai ocx nelle pagine web, sono assolutamente scomdi, e crystal ha un viewer abbastanza buono per generarti html..


>- se non specifico nessuna query da codice (e quindi mi estrae
>tutti i dati, in base alla query "base" del report), il report
>funziona (pur lentamente);
ok


>- se provo a scrivere le query da codice (IDENTICHE, senza modificare
>nulla) innanzitutto mi da errori Oracle che con ASP non mi da,
>ad esempio mi dice che i campi estratti non fanno parte della
>clausola GROUP BY...
mah strana questo errore, sembra un errore di stringa sql, magari se puoi postarla la verifichiamo insieme


>- dopo aver aggiunto questa clausola (ripeto, non capisco perché
>visto che in ASP non mi dava nessun errore) mi visualizza una
>lunga serie di "nomi dipendente" all'inizio del report;
non ho capito cosa intendi...puoi essere piu' preciso sul report, tipo hai tabelle in link?


>- il campo data che utilizzo per raggruppare i dati non è più
>visualizzato;
??? da che versione stai migrando? perche' potrebbe essere che il salto sia troppo alto, magari se passi dalla 7 alla 9 (vs 2003) o 10 (vs 2005) non interpreta giusto il file rpt...


>- una volta che ho scritto tutte le query da codice (ho 4 subreports),
>la pagina rimane appesa e non carica mai il report.
non ho idea, dipende da qualche errore sopra penso...


>Insomma, una serie di errori e anomalie che sinceramente non
>riesco a spiegarmi: se il report è corretto, perché ho tutte
>queste problematiche, pur non avendolo modificato?
tutto puo succedere, se lo apri in visual studio e poi lo salvi, ti viene aggiornato il report, quindi dovresti eventualmente evitare problemi di differenza di versione tra report e runtime...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

ducky Profilo | Junior Member

Ciao, Freeteo

> Innanzitutto ti consiglio se puoi di non usare mai ocx nelle pagine web, sono assolutamente scomdi, e crystal ha un viewer abbastanza buono per generarti html..

Guarda, purtroppo ti devo dire che è esattamente il contrario.
In ASP tradizionale uso l'ActiveX Viewer, e funziona tutto a meraviglia. Nessun problema di visualizzazione, stampe perfette e soprattutto caricamento VELOCE dei report...

In .NET non sono ancora riuscito a usare l'ActiveX, ma è proprio quello che vorrei fare, dal momento che il Viewer "standard" per .NET fa abbastanza schifo ... devi scusarmi, ma non mi sembra affatto buono come dici...

Ripeto, sono giunto a questa conclusione facendo girare gli STESSI report sotto ASP, e poi sotto .NET. La versione di Crystal Report è sempre la stessa, la 10, non ho dovuto migrare nulla.

Ho fatto altre prove, e ho scoperto che:
- l'unico report che mi rimane "appeso" è quello contenente 4 subreport, gli altri si aprono in tempi accettabili. Purtroppo non posso usare i gruppi al posto dei subreport, perché nello stesso report ci sono dati non legati l'uno con l'altro;
- le anomalie che ho descritto si verificano solo nei report che ho creato con la creazione guidata della query (drag and drop di tabelle e campi da Crystal Report); i report che ho creato con i Command funzionano correttamente.

Per riepilogare: proverò (ahimé) a rifare tutti i report con i Command, ma per quanto riguarda i subreport non so proprio che pesci pigliare

freeteo Profilo | Guru

>Guarda, purtroppo ti devo dire che è esattamente il contrario.
>In ASP tradizionale uso l'ActiveX Viewer, e funziona tutto a
>meraviglia. Nessun problema di visualizzazione, stampe perfette
>e soprattutto caricamento VELOCE dei report...
certo perche' gira in locale, pero' se lo devi distruibure sul web la gente deve installarsi l'ocx etc...quindi magari su altri sistemi operativi e soprattutto su altri browser potrebbe non funzionare.
Pero' se lo usi magari per la tua azienda, quindi la cosa non ti da problemi certamente è migliore l'ocx


>In .NET non sono ancora riuscito a usare l'ActiveX, ma è proprio
>quello che vorrei fare, dal momento che il Viewer "standard"
>per .NET fa abbastanza schifo ... devi scusarmi, ma non
>mi sembra affatto buono come dici...
io intendo come rendering html di un contenuto complesso come un report, ovvio che l'ocx va meglio, ma non è html, quindi ad esempio su un palmare non funziona...Io facevo un discorso generico seguendo la teoria "quello che vedo dal web è html" o WPF al max



>Ripeto, sono giunto a questa conclusione facendo girare gli STESSI
>report sotto ASP, e poi sotto .NET. La versione di Crystal Report
>è sempre la stessa, la 10, non ho dovuto migrare nulla.
ok

>Ho fatto altre prove, e ho scoperto che:
>- l'unico report che mi rimane "appeso" è quello contenente 4
>subreport, gli altri si aprono in tempi accettabili. Purtroppo
>non posso usare i gruppi al posto dei subreport, perché nello
>stesso report ci sono dati non legati l'uno con l'altro;
potresti lavorare con lef joint al limite, giusto per alleggerire il report, pero' vedi te se non è fattibile non ci sono alternative...


>- le anomalie che ho descritto si verificano solo nei report
>che ho creato con la creazione guidata della query (drag and
>drop di tabelle e campi da Crystal Report); i report che ho creato
>con i Command funzionano correttamente.
perche' il report va a caricare tutti i campi, anche se poi non li visualizzi, quindi è sempre meglio usare command (ovvero stringhe sql) in modo da caricare solo quello che poi ti serve.


>Per riepilogare: proverò (ahimé) a rifare tutti i report con
>i Command, ma per quanto riguarda i subreport non so proprio
>che pesci pigliare
come dicevo prima, meglio con query e con raggruppamenti, se proprio non puoi io non so aiutarti, Crystal non è una scheggia quello di sicuro...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

ducky Profilo | Junior Member

> certo perche' gira in locale, pero' se lo devi distruibure sul web la gente deve installarsi l'ocx etc...quindi magari su altri sistemi operativi e soprattutto su altri browser potrebbe non funzionare. Pero' se lo usi magari per la tua azienda, quindi la cosa non ti da problemi certamente è migliore l'ocx

Esatto, sto sviluppando quest'applicazione per la mia azienda, dove sistema operativo e browser sono uguali per tutti. Per questo motivo l'ActiveX va più che bene...
A questo punto, posso chiederti come far girare l'ActiveX Viewer con .NET? Ho provato più di una volta, senza successo. Mi ricordo che mi dava degli errori su alcune dll...
Potresti dirmi di cosa ho bisogno esattamente, cosa devo installare, cosa devo importare nel progetto, come includere l'oggetto nella pagina... avevo già provato a documentarmi, ma non ho mai trovato informazioni esaurienti

In ogni caso, grazie per la consulenza!

freeteo Profilo | Guru

ciao,
sinceramente non sono un mago di ocx in pagine web, come ti dicevo preferisco evitarli.
Cmq sia, le poche cose che so, sono che il tag html per avere un ocx è "object" ovvero gli specifichi i parametri (proprieta') con tags "params", qualcosa del tipo:
<OBJECT ID="oggetto" CLASSID="CLSID:#questo devi averlo" > <PARAM name="nome" value="valore"... ...

e ti do qualche link che ti potrebbe aiutare:
http://support.businessobjects.com/forums/message.asp?fid=587&sk=5&ps=25&pn=1&mid=158528 (ultimo post)
come vedi pero' dovresti specificare anche il path del cab da scaricare, ma se lo hai gia' installato sui client probabilmente non serve

altro che ti puo' aiutare:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=4503
http://aspnet.4guysfromrolla.com/articles/052604-1.aspx
http://steveorr.net/articles/StreamingMedia.aspx


purtroppo pero' non ho una roadmap dettagliata e sicura, io lavorerei in questa direzione ma devi provare 1po...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

ducky Profilo | Junior Member

Ok, ci proverò ancora una volta.

Ti ringrazio tantissimo per i suggerimenti
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5