Quale tra Crystal Reports e SSRS (SQL Server Reporting Services) è meglio usare?
Quale tra Crystal Reports e SSRS (SQL Server Reporting Services) è meglio usare?
Risposte:
Da un lato, Crystal Reports è un mucchio fumante di cacca d'asino costosa e sovrastimata, e d'altra parte SSRS mantiene effettivamente tutte le promesse che fa il marketing CR - ed è gratuito.
Il mio disprezzo per CR deriva da molti anni in cui sono stato obbligato a usare la cosa orribile. Non ha davvero senso descrivere in dettaglio l'assoluta odiosità di CR quando posso darti riferimenti come Clubbing the Crystal Dodo o Crystal Reports Sucks Donkey Dork (non così divertente ma piuttosto più istruito e motivato con dettagli tecnici).
Gratuito?! Sì. Non è nemmeno necessario acquistare MS SQL Server per ottenerlo: è possibile installare SQL Express con Advanced Services. È disponibile come download che include SQL Server Reporting Services . Sebbene SQL Express sia limitato nel numero di utenti simultanei che può supportare, le seguenti osservazioni sono salienti:
La licenza per SSRS ottenuta come parte di SQL Express richiede solo che venga distribuita come parte di SQL Express. Non c'è nulla che vieti la connessione ad altre origini dati o che richieda che un report ottenga i dati da SQL Server.
La suddetta versione di SSRS non ha restrizioni intrinseche sulle connessioni utente. Tutte le limitazioni sono imposte al motore di database SQL Express.
SSRS utilizza ADO.NET, che include, immediatamente, i driver per Oracle, Jet (Access), OLEDB e ODBC
In questo modo puoi connettere la versione gratuita di SSRS a qualsiasi back-end a cui puoi connettere ADO.NET, che include (ad esempio) MySQL. Mi è stato detto da Rory in un commento qui sotto che questo "non è supportato". Questo è vero, ma non riesco a trovare nulla nella licenza che lo proibisce e mentre i driver non sono forniti da SSExpress certamente sono forniti dalla maggior parte delle versioni di Visual Studio e si possono spedire nel vostro kit di installazione. Questa potrebbe non essere una configurazione espressamente supportata, ma allora? Anche se avessi una licenza MSSQL completa, sarebbe chiedere un po 'troppo aspettarsi che Microsoft ti aiuti a parlare con un database di terze parti (per non parlare di un po' strano).
Uso ampiamente SSRS al lavoro sia per i report rivolti verso l'interno che per i report rivolti verso l'esterno incorporati nelle applicazioni ASP.NET che forniscono servizi di ufficio a un gran numero di clienti paganti. Nel nostro caso accade che il backing store sia una copia con licenza di Microsoft SQL Server 2008, ma ciò è incidentale per i meriti tecnici della nostra soluzione di reporting.
Esiste un lungo elenco di funzionalità che Crystal Reports afferma di supportare ma che non funzionano o che richiedono una licenza incredibilmente costosa se si desidera più di cinque utenti. Non puoi nemmeno fidarti di CR per eseguire correttamente SQL. SELECT COUNT(*) FROM SOMETABLE WHERE 1=0
dovrebbe produrre un risultato pari a zero ma ne produce uno . Il motore di query integrato è difettoso e un team che rovina qualcosa che un gruppo di dilettanti può fare gratuitamente (ad esempio MySQL) non ha alcuna speranza di ottenere qualcosa che descriveresti come prestazioni dal loro codice.
E non lo fanno. La cosa malvagia perde la memoria come un secchio senza fondo, e se usi strumenti di profiling SQL scoprirai che è straordinariamente inefficiente.
Per quanto riguarda il presunto supporto, posso personalmente attestare che i bug di ridimensionamento dei dialoghi non sono stati corretti per decenni dopo che sono stati documentati pubblicamente per la prima volta. Se tiri fuori la tua carta di credito e paghi i riscatti esorbitanti richiesti (anch'io vorrei una bella paga per sostenere un tale orrore) ti ritroverai a parlare con qualcuno che afferma di chiamarsi David, ma lo pronuncia inspiegabilmente "Dah-feet", e chi non capisce nemmeno la tua domanda, tanto meno ha una risposta.
La situazione del supporto SSRS è abbastanza simile, ma in realtà funziona quindi non è necessario molto.
SSRS, d'altra parte, fa tutto ciò che afferma CR. Non è privo di bug, ma sono deliziosamente pochi e raramente sopravvivono a più di un ciclo di rilascio.
L'interfaccia utente della finestra di progettazione SSRS è ospitata nell'IDE di Visual Studio. È presentato in modo accattivante nel tipico stile Microsoft, ma più di questo è abbastanza ben congegnato, incorporando diversi semplici ma fondamentali scostamenti dai progettisti di report tradizionali. Ad esempio, per presentare i dati tabulari si definisce una tabella anziché armeggiare con singole caselle di testo. Di conseguenza non devi perdere tempo cercando di allinearli e mettere i bordi su di essi è un esercizio banale per i fogli di stile.
SSRS in realtà fa tutte le cose per cui CR afferma, è poco costoso, c'è una documentazione tecnica ampia e affidabile, è progettato per essere esteso (anche documentato) e puoi collegarlo a qualsiasi cosa per cui puoi ottenere un driver ODBC. Questo è un gioco da ragazzi.
In realtà sembra che i gruppi sovrapposti possano essere fatti anche con SSRS2005, anche se non lo sapevo mai. Mi chiedo qualcuno abbia mai risolto il problema del posizionamento relativo inferiore?
Ho utilizzato Crystal Report fino alla versione 10 e ho sempre fatto le cose che volevo con successo insieme alle applicazioni ASP.NET. Il suo output sul web è davvero buono come WYSIWYG e anche le esportazioni in Excel e PDF sono accurate. Anche la stampa è meravigliosamente corretta.
Recentemente, ho lavorato alla SSRS 2005 per circa un anno e ho vissuto per testimoniare così tante carenze che devono essere state fornite anche fuori dagli schemi. L'output web di SSRS varia notevolmente a seconda dei browser e delle risoluzioni diff e farebbe ammalare facilmente uno sviluppatore. Inoltre, i problemi di scorrimento con il visualizzatore di report farebbero impazzire l'utente finale abbastanza presto poiché si basa su HTML utilizzando un IFRAME. ( Nota: Crystal 13 utilizza un IFRAME nel visualizzatore Web che soffre di sporadici problemi di avvolgimento del testo e sovrapposizione). Le esportazioni non sono affatto buone. Non è possibile allineare le immagini a sinistra o al centro nelle celle e non è possibile specificare i colori di sfondo per le immagini. Non è possibile allineare al centro il corpo del report completo. Per possibilità, ho giocato con l'HTML renderizzato per ore e ho trovato delle sostituzioni esatte per farlo funzionare, ma queste semplici correzioni non erano note agli sviluppatori SSRS, immagino perché probabilmente non hanno mai usato SSRS per se stessi.
Inoltre, nelle applicazioni Web, è necessario portare l'interfaccia utente errata per i parametri immediatamente disponibili. L'ho semplicemente rimosso completamente e il costo della creazione in pagine ASPX mi ha fatto pensare di progettare report tabulari in DataGrids invece di utilizzare ObjectDataSource e la tecnica di impaginazione del database. Non è possibile impostare i parametri in base alle proprie esigenze. Bug nelle sezioni dei parametri postback completano i rapporti senza alcuna modifica. Il paging con raggruppamento funziona con un trucco, ma l'ordinamento non riesce su un set di dati completo. Per ogni esigenza di interfaccia utente di livello medio-avanzato, SSRS costa così tanto tempo per capire che semplicemente non è possibile. Poiché ci sono meno utenti SSRS, la comunità online non ha buone soluzioni per problemi semplici. Per non dimenticare il lato positivo di SSRS è la sua distribuzione, le notifiche integrate, la memorizzazione nella cache e la configurazione, ma nessuna interfaccia utente per vincere.
IN FONDO è che ho visto SSRS che ti frustrava solo a causa della non reattività del team di supporto Microsoft quando devono dire 'scusa! non adesso e 'passato un mese. Inoltre, SSRS 2008 non ha risolto immediatamente molti di questi problemi. Inoltre, il passaggio a SSRS '08 significa anche una migrazione completa delle piattaforme back-end. Tenendo presente l'equazione che più usi un software, più diventa maturo nel tempo, Crystal è comunque una scelta molto migliore perché SSRS accumula presto costi per correggere i propri bug da solo.
È possibile distribuire un'app utilizzando Reporting Services includendo 3 file DLL. Questo è un enorme vantaggio. (Nota: devi ottenere uno dei 3 file DLL dal GAC.)
Con Crystal Reports, è necessario installare il runtime su ogni macchina che eseguirà l'applicazione (un sito Web o un'app client).
Reporting Services ha tutte le funzionalità di cui la maggior parte delle persone ha bisogno e la distribuzione è MOLTO più semplice. Non userò mai Crystal Reports a meno che non sia necessario.
Dato che questo thread si è riaperto, aggiungerò i miei due centesimi. Ho dovuto usare Crystal per circa tre anni durante la versione 7 e 8 giorni. Ne ho odiato ogni minuto. Ho visto un po 'delle versioni più recenti e ancora non mi piace.
Non mi piace così tanto che mi addolora dirlo: dalla mia esperienza Crystal è più adatto di SSRS per rapporti complessi. Un collega e io abbiamo cercato disperatamente di far funzionare un layout di report moderatamente complesso in SSRS e ci siamo arresi. La mia impressione del prodotto - solo la mia opinione, intendiamoci - è che non è ancora pronto per la prima serata.
Crystal ti farà odiare la tua vita e cercare un altro lavoro, ma c'è una ragione per cui è così pervasivo: funziona.
Reporting Services è molto meglio nella mia esperienza. È un ambiente migliore, ma la migliore di tutte le connessioni (origini dati) sono separate dal report e possono essere condivise. Ciò rende la distribuzione molto più semplice tra gli ambienti.
Li ho usati entrambi, aggiungerò un paio di punti a quanto già detto:
Per cose semplici, consiglierei SSRS per impostazione predefinita. Il cristallo è un po 'gonfio e bizzarro.
Crystal può facilmente esportare in formato MS Word (.doc). I clienti lo vogliono abbastanza spesso nella mia esperienza.
Se la formattazione è importante, Crystal potrebbe essere migliore. Ad esempio, i report SSRS non possono contenere più di un tipo di testo in una singola casella di testo. Significa che non puoi avere, ad esempio, un commento nella parte superiore del rapporto che abbia sia il corsivo che il testo normale. Crystal può farlo:
Nota: questo rapporto contiene i dati dalla data di inizio alla data di fine, comprese quelle date.
SRSS non può (senza più caselle di testo sovrapposte). Una volta mi è stato dato un documento di parole di 20 pagine, da convertire in un report con i dati per una dozzina di grafici e tabelle. Ho iniziato con SSRS, ma mi sono reso conto che in Crystal potevo semplicemente copiare e incollare i bit codificati del report direttamente da parola, con intestazioni colorate e tutto, risparmiando giorni di lavoro. Quindi Crystal ha un "designer" migliore sotto molti aspetti.
Aggiornamento:
apparentemente entrambi questi problemi sono stati risolti nell'attuale SRSS. Qualcuno vuole commentare ulteriormente su questo?
Sono d'accordo con @Carlton in parte per i motivi che descrive. Penso anche che i servizi di reporting siano un prodotto più maturo (anche se Crystal Reports è in circolazione da più tempo). Il modello Test and deploy è piuttosto sostanzioso e la capacità incorporata di monitorare l'utilizzo dei report è molto utile.
Trovo anche molto più semplice progettare report in Reporting Services: Microsoft ha imparato a costruire un buon IDE, mentre l'IDE Crystal è sempre sembrato un pensiero dopo (anche se è meglio di una placenta, che è quello che era) .
Modifica: pensieri aggiuntivi Penso anche che in un negozio di Windows, SSRS offra tutti i tipi di dolci integrazioni con il sistema operativo e SQL Server. Puoi fare affidamento sugli assembly SQL per il riutilizzo del codice integrato abbastanza facilmente in SSRS e l'integrazione con il modello di sicurezza di Active Directory semplifica la protezione dei tuoi report.
Amico ... la mia azienda ha così tanti rapporti di cristallo ... e anche la società prima ne aveva molti. Dalla versione 8.5 alla 11.5. Hanno già un piede nella porta per così dire. Penso che CrystalReportViewer sia un pezzo di merda fumante ma funziona (per la maggior parte).
Dopo aver letto alcune di queste risposte, passo a SSRS per il mio prossimo progetto di reporting! La scritta è sul muro ... MS lascerà cadere Crystal da VS e sostituirà con SSRS. L'unica cosa che farà schifo è quando la SM inizia a farsi pagare.
EDIT: Giocare con SSRS oggi e sembra abbastanza promettente. Devo dire che il designer sta impiegando un po 'ad abituarsi a ... CR Designer ha battuto in termini di facilità d'uso. Puoi dire che questo è progettato per i programmatori in cui come CR è orientato verso i progettisti di report.
EDIT2: SSRS non riesce davvero a soddisfare le mie esigenze di segnalazione. La progettazione di report fa schifo quando si desidera visualizzare in anteprima e non è disponibile alcun prompt dei parametri per lo standalone. C'è un modo migliore per progettarli ... preferibilmente non in VS?
Hai pensato a un'alternativa? Se desideri utilizzare le funzionalità di Crystal Reports ma non vuoi pagare così tanto, potresti dare un'occhiata a Crystal-Clear che è uno strumento di reporting basato su Java che supporta anche i modelli di Crystal Reports. Viene fornito con un designer GUI e anche le origini dati sono configurabili per sistema. (Quasi come un ODBC, devi solo impostare un nome per la connessione e la connessione viene configurata sul sistema.)
Mi chiedo perché nessuno abbia menzionato un grosso problema con CR: che semplicemente fallisce nel controllo del codice sorgente o nell'ambiente del team. Correggimi se sbaglio ma ho davvero cercato molto attentamente qualsiasi strumento di diff rapporto. Ce n'è uno (rilasciato circa un anno fa) ma semplicemente non funziona bene - non perché è cattivo ma (immagino) perché CR non espone correttamente la struttura del report o qualcosa del genere ... Ho provato a esportare .rpt in XML ma è goffo e sbagliato. Ho anche provato a scrivere il mio comparatore .rpt.
Non si tratta solo di sviluppo del team; anche se c'è un singolo sviluppatore è un incubo mantenere le versioni dei rapporti e se il tuo cliente ha deciso di aggiungere poche cose o di cambiare pochi colori, ora sei maledetto a tenere traccia di ogni singola casella di testo poiché non c'è assolutamente modo di scoprire le modifiche.
Il formato RDL è molto più pulito e aperto. E questo può essere un vantaggio piuttosto importante.
Li uso entrambi da anni. Crystal Reports fa pagare troppo e cerco di utilizzare SSRS quando possibile. Tuttavia, SSRS non supporta Firefox o qualsiasi altro browser, solo IE, questo è un problema. I report in Crystal sono più belli e le esportazioni sono più potenti, gli utenti desiderano una buona esportazione in Word. Se sei un programmatore Java, utilizzerei Jasper Reports, è gratuito e utilizza il linguaggio Java per le funzioni.
Ho usato entrambi (Crystal Reports 2008 e SSRS 2008) perché non ho notato questo thread in tempo.
A parte la configurazione che era un po 'più semplice con CR, non ho potuto notare una singola funzionalità in cui CR è almeno alla pari con SSRS. Sì, Crystal Reports è davvero così male.
Secondo me la parte assolutamente peggiore in CR è l'IDE. Ma ci sono anche altre caratteristiche killer, come le scarse prestazioni SQL e grafici dall'aspetto orribile (almeno nella versione CR fornita con VS 2008) sono anche caratteristiche "killer" notevoli.
Ho lavorato sia con CR che con SSRS e questo è quello che ho trovato.
Crystal Reports viene eseguito nella propria memoria mentre SSRS viene eseguito nella memoria limitata di SQL Server.
Il report Crystal è troppo costoso. Recentemente hanno ridotto il loro prezzo a 250 $ credo in risposta al rilascio di SSRS 2008.
SSRS è gratuito.
Il motivo principale per cui il rapporto Crystal prospera:
È possibile progettare l'80% dei report in un progetto utilizzando SSRS. Ma per il restante 20% devi utilizzare qualche altro strumento di segnalazione. Questi rapporti del 20% sono utilizzati nientemeno che da manager, direttori e CEO di alto livello. Le loro esigenze non possono mai essere minate e CR fa un ottimo lavoro lì.
Il report Crystal è ancora basato su COM. che è un dolore in culo.
Crystal report non manca di capacità o caratteristiche. È il cavallo di battaglia di SAP. Ma molte delle sue classi sono protette e non forniscono l'accesso ai programmatori. Questo è intenzionale. Le persone SAP sono così avide che vogliono tenere sotto controllo ogni funzionalità e addebitare una fortuna extra per aver esposto le clausole e gli oggetti agli sviluppatori in base a un accordo speciale di licenza. Esegui il debug e guarda velocemente l'oggetto ReportDocument in VS saprai che nonostante tutto ciò che è disponibile nell'oggetto difficilmente puoi usarli nel tuo codice !!
Per quanto riguarda i problemi di GUI e CSS, aspettarsi un oggetto COM progettato per la stampa di precisione, renderizzare correttamente in ogni browser è un punto controverso in quanto anche un semplice div viene visualizzato in modo diverso nei diversi browser.
Lavoro con Crystal Reports da 7 anni e maledico tutto il tempo mentre esploro attivamente tutte le altre alternative. Ma devo ancora imbattermi in qualcosa di flessibile come Cystal Report. Per la maggior parte del lavoro SSRS è buono. Ma per dashboard, report complessi con sottoreport, bilanci, bilanci di verifica non sprecherò mai il mio tempo in SSRS.
Basta provare una ricerca di Google Trend su Crystal Report. È in costante calo dagli ultimi 6 anni. sicuramente il futuro non sembra buono per CR.
Ma hey ! MS, SAP e ORACLE sostengono ancora Crystal Report al centro delle loro applicazioni !! e nessun prodotto BI costa poco.
Mi sento come un marziano che ha un'esperienza ampia e positiva (ma a volte complessa) con Crystal Reports, che ora è completamente integrato nella nostra interfaccia utente (VBA), dove i parametri e i filtri dei rapporti richiesti vengono ereditati in modo trasparente dall'interfaccia utente ...
Se stai prendendo in considerazione SSRS e sei preoccupato per il fatto che sia "gratuito" ma devi acquistare una licenza aggiuntiva per SQL Server o distribuire SQL Express, potresti essere interessato a Data Dynamics Reports
Offre tutto ciò che è in SSRS e aggiunge report master, temi, area dati del calendario, visualizzazione dei dati (Databar, Sparkline, Iconset, ColorScale, ...), modello di oggetti completo per la massima flessibilità di programmazione, designer di report per utenti finali senza royalty, codice a barre elemento del report, esportazione di modelli Excel e unione di dati e molto altro ancora. Puoi scaricare una versione di prova da Data Dynamics (ora GrapeCity) e provarla con pochi rapporti, non rimarrai deluso.
Ho lavorato con entrambi ora e li ho visti fianco a fianco. Il cristallo è stato buono, ma costoso negli anni. È goffo, ma ci siamo abituati e abbiamo familiarità con l'interfaccia. Non lavoro nell'ambiente LAMP, questa casa funziona con MS Dynamics e MAS con alcuni clienti piuttosto grandi.
Mi piace non doversi preoccupare dell'installazione del client per SSRS. Le distribuzioni sono molto più semplici e la condivisione di origini dati e modelli di report funziona bene.
Per quanto riguarda il browser, in Firefox ho visto indicatori SSRS 2008 perfettamente resi. Ho esportato quegli indicatori in Excel senza problemi. Ho distribuito rapporti con e senza MOSS ai telefoni. La possibilità di utilizzare l'autenticazione di Windows per distribuire report e nasconderli è fantastica. L'oggetto visualizzatore di report in VS 2005 e versioni successive è carino.
Gente, fate riferimento alla versione di cui state parlando!
Ad esempio, il reporting RDLC gratuito integrato in VS2008 (lo stesso di SQL Server 2005 Reporting Services) non supporta i campi di associazione nell'intestazione e nel piè di pagina ed è una funzionalità di base!
Ora sto convertendo un enorme report da questo VS2008 Reporting / RDLC 2005 a Crystal Report 2008 Basic (fornito con VS2008) perché non ha questa funzionalità di base.
Sono fiducioso che Reporting Services 2.0 / RDLC 2008 (fornito con Visual Studio 2010) e, meglio ancora, i più recenti Reporting Services 3.0 / RDLC 2010 ( forniti GRATUITAMENTE in SQL Server 2008 R2 Express con servizi avanzati ) siano soluzioni SSRS migliori.
SQL Server R2 Express con servizi avanzati (GRATUITO) http://www.microsoft.com/express/Database/InstallOptions.aspx
In questo momento sto effettuando una prova di concetto per Reporting Services 3.0 / RDLC 2010 e pubblicherò i risultati.
Reporting Services (SSRS / RDLC) è sempre più facile da lavorare, ma facile ha un prezzo. Per rapporti semplici, scegli sempre SSRS / RDLC. Per report complessi con dettagli principali, controllo della pagina e così via, creare un PoC di questi scenari con le versioni SSRS / RDLC più recenti (2008,2010) e anche con Crystal Reports.
Per coloro che stanno confrontando il vecchio Crystal Reports XI e Reporting Service 1.0, vedere questo post del 2005:
SQL Server Reporting Services e Crystal Reports: un'analisi competitiva http://www.crystalreportsbook.com/SSRSandCR_Conclusion.asp