Confrontare SQL Server Reporting Services con Crystal Reports

Quale di Crystal Reports e SSRS (SQL Server Reporting Services) è meglio usare?

Da un lato, Crystal Reports è una pila fumante di cacca d’asino costosa e overhyped, e d’altra parte SSRS in realtà soddisfa tutte le promesse che il marketing CR rende – ed è gratuito.

Il mio disprezzo per CR deriva da molti anni di essere obbligato a usare la cosa orribile. Non ha davvero senso dettagliare l’odiosità totale del CR quando posso darti dei riferimenti come Clubbing the Crystal Dodo o Crystal Reports Sucks Donkey Dork (non è divertente ma piuttosto più alfabetizzato e supportato da dettagli tecnici).

Gratuito?! Sì. Non è nemmeno necessario acquistare MS SQL Server per ottenerlo: è ansible installare SQL Express con i servizi avanzati. Questo è disponibile come download che include SQL Server Reporting Services . Mentre SQL Express è limitato nel numero di utenti concorrenti 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 impedisca la connessione ad altre origini dati o che richieda che un report ottenga dati da SQL Server.

  • La versione sopra menzionata di SSRS non ha restrizioni intrinseche alle 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

Pertanto è ansible connettere la versione gratuita di SSRS a qualsiasi back-end a cui è ansible connettere ADO.NET, che include (per esempio) MySQL. Mi viene detto da Rory in un commento qui sotto che questo è “non supportato”. È vero, ma non riesco a trovare nulla nella licenza che lo vieti e mentre i driver non sono forniti da SSExpress , sono forniti dalla maggior parte delle versioni di Visual Studio e possono essere spediti nel kit di installazione. Questa potrebbe non essere una configurazione supportata espressamente, ma allora? Anche se disponi di una licenza MSSQL completa, ti chiederebbe un po ‘di più che Microsoft ti aiuti a parlare con alcuni database di terze parti (per non parlare di un po’ strano).

Uso estesamente SSRS al lavoro sia per i report rivolti verso l’interno sia per i report rivolti verso l’esterno incorporati nelle applicazioni ASP.NET che forniscono servizi di ufficio a un numero elevato di clienti paganti. Nel nostro caso capita che il backing store sia una copia concessa in licenza di Microsoft SQL Server 2008, ma questo è accessorio ai meriti tecnici della nostra soluzione di reporting.

C’è una lunga lista di funzionalità che Crystal Reports afferma di supportare ma che non funzionano o che richiedono una sconcertante licenza se si vogliono più di cinque utenti. Non puoi nemmeno fidarti del fatto che il CR faccia correttamente SQL. SELECT COUNT(*) FROM SOMETABLE WHERE 1=0 dovrebbe produrre un risultato pari a zero ma ne produce uno . Il motore di query incorporato è difettoso e una squadra che rovina qualcosa che un gruppo di amatori può fare gratuitamente (ad es. MySQL) non ha alcuna speranza di ottenere qualcosa che descriveresti come prestazione dal proprio codice.

E loro no. La cosa malvagia perde la memoria come un secchio senza fondo, e se usi gli strumenti di profilazione SQL scoprirai che è straordinariamente inefficiente.

Per quanto riguarda il presunto supporto, posso personalmente attestare che i bug di ridimensionamento delle windows di dialogo non sono stati corretti per decenni dopo la prima documentazione pubblica. Se esamini la tua carta di credito e paghi l’esorbitante riscatto richiesto (anch’io vorrei una bella paga per sostenere un simile orrore) ti troverai a parlare con qualcuno che afferma di chiamarsi David, ma inspiegabilmente lo pronuncia “Dah-feet”, e chi non capisce nemmeno la tua domanda, tanto meno ha una risposta.

La situazione di supporto di SSRS è abbastanza simile, ma in realtà funziona in modo da non aver bisogno di 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 del designer SSRS è ospitata all’interno dell’IDE di Visual Studio. È presentato in modo attraente nel tipico stile Microsoft, ma più di questo è abbastanza ben congegnato, incorporando diverse partenze semplici ma fondamentali dai progettisti di report tradizionali. Ad esempio, per presentare dati tabulari, si definisce una tabella piuttosto che giocare con singole caselle di testo. Di conseguenza non devi girovagare per cercare di allinearli e metterli su di essi è un banale esercizio di fogli di stile.

SSRS in realtà fa tutto ciò che afferma la CR, è economico, c’è una vasta documentazione tecnica 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.

Alcune carenze di SSRS

  • Non è ovvio come associare i campi nelle intestazioni e nei piè di pagina.
  • Non è ansible (per quanto ne so) posizionarsi rispetto al fondo di una pagina. Questo è un vero problema per alcuni tipi di report e uno per il quale non riesco a pensare a una soluzione alternativa.
  • Non c’è supporto per espandere i rollup orizzontali nelle tabelle incrociate.
  • Non esiste un supporto diretto per intestazioni e piè di pagina del report. Utilizzare gli oggetti Rettangolo nella parte superiore e inferiore del layout del report, con le proprietà del taglio della pagina impostate in modo appropriato. O utilizzare i sottoreport. Le persone che si lamentano di questo ovviamente non hanno provato molto duramente.
  • Mancanza di supporto per intervalli di gruppo sovrapposti (il sistema di raggruppamento CR può farlo) UPDATE SSRS 2008 R2 ora supporta questo. È sepolto nella finestra di modifica del raggruppamento. Cerca “variabili di gruppo” e leggi questo .

In realtà sembra che anche i gruppi sovrapposti possano essere eseguiti con SSRS2005, anche se non l’ho mai saputo. Mi chiedo se qualcuno abbia mai risolto il problema relativo al posizionamento in basso?

Sto usando Crystal report fino alla versione 10 e ho sempre fatto 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 su SSRS 2005 per circa un anno e ho vissuto per testimoniare così tante lacune che devono essere state fornite anche fuori dalla scatola. L’output Web di SSRS varia notevolmente a seconda dei browser e delle risoluzioni diff e potrebbe facilmente far ammalare uno sviluppatore. Inoltre, i problemi di scorrimento con il visualizzatore di report renderebbero un pazzo l’utente finale abbastanza presto perché basato su HTML che utilizza 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 è ansible allineare le immagini a sinistra o al centro nelle celle e non è ansible specificare i colors di sfondo per le immagini. Non puoi centrare allineare il corpo del report completo. Per possibilità, ho giocato con l’HTML reso per ore e ho trovato rimpiazzi esatti per farlo funzionare, ma queste semplici correzioni non erano note agli sviluppatori di SSRS, perché probabilmente non hanno mai usato SSRS per se stessi.

Inoltre, nelle applicazioni Web, è necessario supportare l’interfaccia utente errata per i parametri immediatamente disponibili. L’ho semplicemente rimosso completamente e il costo di crearlo nelle pagine ASPX mi ha fatto pensare a progettare report tabulari in DataGrid utilizzando invece ObjectDataSource e la tecnica di impaginazione del database. Non è ansible impostare i parametri in base alle proprie esigenze. Bugs nelle sezioni di paramters postback completano i report senza alcuna modifica. Il paging con il raggruppamento funziona con un trucco, ma l’ordinamento fallisce sul set di dati completo. Per ogni bit di livello medio-avanzato dei requisiti dell’interfaccia utente, SSRS costa così tanto tempo a capire che semplicemente non è ansible. Dato che 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 implementazione, le notifiche incorporate, il lato di cache e configurazione, ma nessuna interfaccia utente per vincere.

BOTTOMLINE è che ho visto gli SSRS frustarti solo a causa della mancanza di responsabilità del team di supporto Microsoft quando devono dire “scusa! non ora ‘dopo un mese. Anche la SSRS 2008 non ha molti di questi problemi risolti direttamente. Inoltre, passare a SSRS 08 significa anche una migrazione completa delle piattaforms di back-end. Tenendo presente l’idea che più si utilizza un software, più diventa maturo nel tempo, Crystal è comunque una scelta molto migliore perché, SSRS accumula presto i costi per correggere i bug da yourselve.

È ansible distribuire un’applicazione 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 ciascuna macchina che eseguirà l’applicazione (un sito Web o un’app client).

Reporting Services ha tutte le funzionalità di cui la maggior parte della gente ha bisogno e la distribuzione è MOLTO più semplice. Non userò mai Crystal Reports a meno che non sia necessario.

Dato che questo thread è tornato aperto, aggiungerò i miei due centesimi. Ho dovuto usare Crystal per circa tre anni durante la versione 7 e 8 giorni. Ho odiato ogni minuto di esso. Ho visto un po ‘delle nuove versioni 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 ottenere un layout di report moderatamente complesso per funzionare in SSRS e rinunciare. La mia impressione sul prodotto – solo la mia opinione, intendiamoci – è che non è ancora pronto per il prime time.

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 cosa migliore di tutte le connessioni (origini dati) sono separate dal rapporto e possono essere condivise. Questo rende molto più semplice la distribuzione tra gli ambienti.

Ho usato entrambi, aggiungerò un paio di punti a ciò che è già stato detto:

  • Per cose semplici, raccomanderei SSRS per impostazione predefinita. Il cristallo è un po ‘gonfio e bizzarro.

  • Crystal può facilmente esportare in formato MS Word (.doc). I clienti lo desiderano abbastanza spesso nella mia esperienza.

  • Se la formattazione è importante, Crystal potrebbe essere migliore. Ad esempio, i report SSRS non possono avere più di un tipo di testo in una singola casella di testo. Significa che non è ansible avere, ad esempio, un commento nella parte superiore del report che contiene sia il corsivo che il testo normale. Crystal può farlo:


Nota: questo rapporto contiene dati dalla data di inizio alla data di fine incluse quelle date.


SRSS non può (senza più caselle di testo sovrapposte). Una volta ho ricevuto un documento word di 20 pagine, da convertire in un report con i dati relativi a una dozzina di grafici e tabelle. Ho iniziato in SSRS, ma mi sono reso conto che in Crystal potevo semplicemente copiare e incollare i bit codificati del rapporto direttamente dalla parola, con intestazioni colorate e tutto il resto, e ho risparmiato giorni di lavoro. Quindi Crystal ha un “designer” migliore sotto molti aspetti.

Aggiornare:
Apparentemente entrambi questi problemi sono stati risolti nell’attuale SRSS. Qualcuno si preoccupa di commentare ulteriormente su questo?

Sono d’accordo con @Carlton in parte per le ragioni che descrive. Ritengo inoltre che i servizi di reportistica siano un prodotto più maturo (anche se Crystal Reports è in circolazione da più tempo). Il modello di test e implementazione è piuttosto cordiale e la capacità integrata di tenere traccia dell’utilizzo del report è molto utile.

Trovo inoltre molto più semplice progettare report in Reporting Services – Microsoft ha imparato a build un buon IDE, mentre l’IDE Crystal è sempre sembrato un ripensamento (anche se è meglio di una placenta, che è ciò che era in passato) .

Modifica: Altre considerazioni Penso anche che in un negozio Windows, SSRS offre tutti i tipi di integrazioni dolci con il sistema operativo e SQL Server. È ansible fare affidamento su assembly SQL per il riutilizzo del codice incorporato abbastanza facilmente in SSRS e l’integrazione con il modello di sicurezza di Active Directory rende molto semplice la protezione dei report.

Amico … la mia azienda ha talmente tanti rapporti di cristallo … e anche la compagnia 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, sto passando a SSRS per il mio prossimo progetto di reportage! La scritta è sul muro … MS farà cadere Crystal da VS e si sostituirà con SSRS. L’unica cosa che farà schifo è quando MS inizierà a caricarsi.

EDIT: scherzi con SSRS oggi e sembra abbastanza promettente. Devo dire che il designer si sta abituando a … CR Designer ha battuto in facilità d’uso. Si può dire che questo è progettato per i programmatori dove CR è orientato verso i progettisti di report.

EDIT2: SSRS non riesce a soddisfare le mie esigenze di segnalazione. La progettazione dei report fa schifo quando si desidera visualizzare l’anteprima e nessun prompt dei parametri è disponibile per il singolo. C’è un modo migliore per progettarli … preferibilmente non in VS?

Hai pensato a un’alternativa? Se si desidera utilizzare le funzionalità di Crystal Reports ma non si vuole pagare così tanto, si potrebbe 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 una GUI-designer e le origini dati sono anche configurabili per sistema. (Quasi come in ODBC, basta impostare un nome per la connessione e la connessione è configurata sul sistema.)

Mi chiedo perché nessuno abbia menzionato un grosso problema con CR – che fallisce semplicemente nel controllo del codice sorgente o nell’ambiente del team. Correggimi se sbaglio, ma mi è sembrato davvero molto difficile per gli strumenti di confronto. Ce n’è una (rilasciata circa un anno fa) ma non funziona bene – non perché è male ma (suppongo) perché CR non espone correttamente la struttura del report o qualcosa del genere … Ho provato ad esportare .rpt in XML ma è goffo e sbagliato. Ho anche provato a scrivere il mio comparativo .rpt.

Non si tratta solo dello sviluppo del team; anche se c’è un singolo sviluppatore è un incubo mantenere le versioni dei report, e se il tuo cliente ha deciso di aggiungere alcune cose o di cambiare pochi colors, ora sei maledetto per tenere traccia di ogni singola casella di testo poiché non c’è assolutamente alcun modo di scoprire le modifiche.

Il formato RDL è molto più pulito e aperto. E questo può essere un vantaggio piuttosto importante.

Ho usato entrambi per anni. I report Crystal si caricano troppo e cerco di utilizzare SSRS quando ansible. Tuttavia, SSRS non supporta Firefox o altri browser, solo IE, questo è un problema. I report in Crystal sembrano più belli e le esportazioni sono più potenti, gli utenti vogliono esportare 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 il setup che è stato un po ‘più facile con CR, non ho potuto notare una singola funzione in cui CR è almeno alla pari con SSRS. Sì, Crystal Reports è davvero così male.

A mio parere la parte assolutamente peggiore in CR è l’IDE. Ma ci sono anche altre caratteristiche killer, come le scarse prestazioni SQL e grafici orribili (almeno nella versione CR che viene fornito con VS 2008) sono anche caratteristiche “killer” degne di nota.

Ho lavorato con CR e SSRS e questo è ciò che ho trovato.

Crystal Reports viene eseguito nella propria memoria mentre SSRS viene eseguito nella memoria limitata di SQL Server.

Il rapporto sui cristalli è troppo costoso. Recentemente hanno ridotto il loro prezzo a 250 $ come risposta alla versione di SSRS 2008.

SSRS è gratuito.

La più grande ragione per cui prospera il rapporto Crystal:

È ansible progettare l’80% dei report in un progetto utilizzando SSRS. Ma per il restante 20% devi utilizzare qualche altro strumento di reporting. Questi rapporti del 20% non sono usati da manager, direttori e CEO di alto livello. Il loro requisito non può mai essere compromesso e CR svolge un lavoro meraviglioso lì.

Il report Crystal è ancora basato su COM. che è un dolore nella a **.

Il report Crystal non manca di funzionalità o funzionalità. È il cavallo di lavoro di SAP. Ma molte delle sue classi sono protette e non forniscono accesso ai programmatori. Questo è per intenzione. Le persone SAP sono così avide da voler tenere sotto controllo tutte le funzionalità e caricare una fortuna extra per esporre le claune e gli oggetti agli sviluppatori in base a un accordo di licenza speciale. Basta eseguire il debug e guardare rapidamente l’object ReportDocument in VS, saprai a dispetto di tutto ciò che è disponibile nell’object che difficilmente puoi usare nel tuo codice !!

Per quanto riguarda i problemi della GUI e dei CSS, in attesa di un object COM progettato per la stampa di precisione, il rendering corretto in ogni browser è un punto controverso, in quanto anche un semplice div viene visualizzato in modo diverso nei vari browser.

Ho lavorato con i report Crystal da 7 anni e maledetto tutto il tempo mentre esplora triggersmente tutte le altre alternative. Ma devo ancora trovare qualcosa di flessibile come Cystal Report. Per la maggior parte del lavoro, SSRS è buono. Ma per i cruscotti digitali, i rapporti complessi con sottoreport, i bilanci, i bilanci di prova, non perderò mai il mio tempo in SSRS.

Basta provare una ricerca delle tendenze di Google su Crystal Report. È in costante declino dagli ultimi 6 anni. sicuramente il futuro non sembra buono per CR.

Ma hey ! MS, SAP e ORACLE supportano ancora Crystal Report al centro delle loro applicazioni !! e nessun prodotto BI è economico.

Mi sento come un marziano che ha un’esperienza ampia e positiva (ma a volte complessa) con Crystal Reports, che ora è completamente integrata nella nostra interfaccia utente (VBA), dove i parametri dei report ei filtri richiesti sono ereditati in modo trasparente dall’interfaccia utente …

Se stai pensando a SSRS e sei preoccupato per il fatto che è “gratis” ma devi acquistare e aggiungere una licenza SQL Server o distribuire SQL Express, allora potresti essere interessato a Report di Data Dynamics

Offre tutto ciò che è in SSRS e aggiunge Master Report, Temi, Area dati del calendario, Visualizzazione dati (Databar, Sparkline, Iconset, ColorScale, …), modello di oggetti completo per la massima flessibilità di programmazione, designer di report utente senza diritti d’autore, codice a barre rapporto articolo, esportazione excel template e fusione dati, e molto altro. Puoi scaricare una versione di prova da Data Dynamics (ora GrapeCity) e provarla con pochi rapporti, non rimarrai deluso.

Ho lavorato con entrambi adesso e li ho visti fianco a fianco. Crystal è stato buono, ma expensice nel corso degli anni. È grosso, 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 dovermi preoccupare dell’installazione client per SSRS. Le distribuzioni sono molto più semplici e la condivisione delle fonti di dati e dei modelli di report sta funzionando bene.

Per quanto riguarda il broweser, ho visto gli indicatori di SSRS 2008 perfettamente resi in Firefox. Ho esportato quei calibri in Excel senza problemi. Ho distribuito report con e senza MOSS ai telefoni. La possibilità di utilizzare l’autenticazione di Windows per distribuire report e nasconderli è fantastica. L’object visualizzatore di report in VS 2005 e versioni successive è dolce.

Gente, per favore riferisciti alla versione di cui stai parlando!

Ad esempio, il report RDLC gratuito integrato 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 rapporto enorme da questo Reporting / RDLC 2005 VS200 a Crystal Report 2008 Basic (che viene fornito con VS2008) perché non ha questa caratteristica di base.

Sono fiducioso che Reporting Services 2.0 / RDLC 2008 (che viene fornito con Visual Studio 2010) e, ancora meglio, il nuovissimo Reporting Services 3.0 / RDLC 2010 ( che è GRATUITO in SQL Server 2008 R2 Express con servizi avanzati ) sono migliori soluzioni SSRS.

SQL Server R2 Express con servizi avanzati (GRATUITO) http://www.microsoft.com/express/Database/InstallOptions.aspx

In questo momento sto facendo una prova di concetto per Reporting Services 3.0 / RDLC 2010 e posterò i risultati.

Reporting Services (SSRS / RDLC) è sempre più facile da lavorare, ma è facile con un prezzo. Per report 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 più recenti di SSRS / RDLC (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