Rapporto sul lato server in Crystal 2008?
-
05-07-2019 - |
Domanda
Sto cercando di integrare Crystal Reports 2008 in un'applicazione Windows Form. Vorrei evitare connessioni dirette dalla mia applicazione client al database, dando all'utente il "completo" riferire esperienza. È possibile per Crystal Reports 2008 eseguire un report su un server in un controllo client Windows Form lato client, simile a Microsoft Reporting Services?
Soluzione
Non so se è esattamente quello che stai cercando, ma posso pensare a 2 modi in cui potresti confonderlo:
- È possibile impostare il report in modo che il "database" sia un file XSD, senza conoscere il vero backend. Quindi, in fase di esecuzione, invii i dati al rapporto.
// Crea un'istanza in fase di esecuzione appropriata per il tuo ambiente - solo esempio:
ReportClass rc = new ReportClass ();
rc.Load (crystalReportFileName);
rc.SetDataSource (myIEnumerableData);
CrystalReportViewer crv = new CrystalReportViewer ();
crv.ReportSource = rc;
// Visualizza il visualizzatore di cristalli.
2 - Puoi fare lo stesso di 1 su un server (indipendentemente dall'approccio del database), quindi salvare il rapporto e inviarlo al client.
// Alcuni servizi / metodi lato server ecc.
public byte [] GetMyReport () {
ReportClass rc = new ReportClass ();
rc.Load (crystalReportFileName);
rc.SetDataSource (myIEnumerableData);
rc.SaveAs (serverSideFile, True); // True è fondamentale per salvare i dati con report
return .... // converte il file creato in un array di byte, suppongo
}
// Lato client
byte [] rep = Server. GetMyReport ()
ReportClass rc = ..... // converti rep in un report di cristallo
CrystalReportViewer crv = new CrystalReportViewer ();
crv.ReportSource = rc;
Altri suggerimenti
Questo non è proprio quello che stai chiedendo, ma Crystal Reports Server esegue il reporting sul lato server.
L'aspetto negativo è fastidiosamente costoso.
http://www.businessobjects.com/product/catalog/crystalreports_server/
Non posso aggiungere un commento a quanto sopra in quanto non ho punti, ma spero che questo aiuti.
Crystal Reports Server esegue report autonomamente rispetto alle origini dati, con l'idea che i client senza report Crystal o accesso ai dati possano eseguire report tramite il Web o che il server esegua report pianificati e invii i risultati. Non so se puoi integrarlo però.