Lequel de Crystal Reports et SSRS (SQL Server Reporting Services) est préférable d'utiliser?
D'une part, Crystal Reports est une pile fumante de caca d'âne cher et sur-typé, et d'autre part SSRS remplit réellement toutes les promesses que fait le marketing CR - et c'est gratuit.
Mon mépris pour CR découle de nombreuses années d'être obligé d'utiliser la chose horrible. Il est vraiment inutile de détailler l'odieuse odeur de CR quand je peux vous donner des références comme Clubbing the Crystal Dodo ou Crystal Reports Sucks Donkey Dork (pas aussi drôle mais plutôt plus lettré et justifié par des détails techniques).
Libre?! Ouaip. Vous n'avez même pas besoin d'acheter MS SQL Server pour l'obtenir - vous pouvez installer SQL Express avec Advanced Services. Ceci est disponible sous la forme d'un téléchargement qui inclut SQL Server Reporting Services . Bien que SQL Express soit limité dans le nombre d'utilisateurs simultanés qu'il peut prendre en charge, les observations suivantes sont saillantes:
La licence pour SSRS obtenue dans le cadre de SQL Express nécessite uniquement son déploiement dans le cadre de SQL Express. Rien n'interdit la connexion à d'autres sources de données ou n'exige qu'un rapport obtienne des données de SQL Server.
La version susmentionnée de SSRS n'a pas de restrictions intrinsèques sur les connexions utilisateur. Toutes les limitations sont imposées au moteur de base de données SQL Express.
SSRS utilise ADO.NET, qui comprend, dès la sortie de l'emballage, des pilotes pour Oracle, Jet (Access), OLEDB et ODBC
Ainsi, vous pouvez connecter la version gratuite de SSRS à n'importe quel back-end auquel vous pouvez connecter ADO.NET, qui comprend (par exemple) MySQL. Rory me dit dans un commentaire ci-dessous que ce n'est "pas pris en charge". C'est vrai, mais je ne trouve rien dans la licence qui l'interdit et bien que les pilotes ne soient pas fournis par SSExpress ils sont certainement le sont fournis par la plupart des versions de Visual Studio et vous pouvez les expédier dans votre kit d'installation. Ce n'est peut-être pas une configuration expressément prise en charge, mais alors quoi? Même si vous disposiez d'une licence MSSQL complète, cela demanderait un peu d'attendre de Microsoft qu'il vous aide à parler à une base de données tierce (sans parler d'un peu bizarre).
J'utilise largement SSRS au travail à la fois pour les rapports orientés vers l'intérieur et pour les rapports orientés vers l'extérieur intégrés dans les applications ASP.NET qui fournissent des services de bureau à un grand nombre de clients payants. Dans notre cas, il arrive que le magasin de sauvegarde soit une copie sous licence de Microsoft SQL Server 2008, mais cela est accessoire aux mérites techniques de notre solution de création de rapports.
Il existe une longue liste de fonctionnalités que Crystal Reports prétend prendre en charge, mais qui ne fonctionnent pas ou qui nécessitent une licence extrêmement coûteuse si vous voulez plus de cinq utilisateurs. Vous ne pouvez même pas faire confiance à CR pour faire correctement SQL. SELECT COUNT(*) FROM SOMETABLE WHERE 1=0
devrait produire un résultat de zéro mais il produit un. Le moteur de requête intégré est défectueux, et une équipe qui fout quelque chose qu'un groupe d'amateurs peut faire gratuitement (par exemple MySQL) n'a aucun espoir d'obtenir tout ce que vous qualifieriez de performances de leur code.
Et ils ne le font pas. La mauvaise chose fuit la mémoire comme un seau sans fond, et si vous utilisez des outils de profilage SQL, vous constaterez que c'est spectaculairement inefficace.
En ce qui concerne le soutien supposé, je peux personnellement attester que les bogues de redimensionnement des dialogues n'ont pas été corrigés pendant des décennies après leur première publication. Si vous sortez votre carte de crédit et payez les rançons extorquées demandées (moi aussi je voudrais un beau salaire pour supporter une telle horreur), vous vous retrouverez à parler à quelqu'un qui prétend que son nom est David, mais le prononce inexplicablement "Dah-feet", et qui ne comprend même pas votre question, encore moins avoir une réponse.
La situation de prise en charge SSRS est assez similaire, mais elle fonctionne en fait, vous n'avez donc pas vraiment besoin de beaucoup.
SSRS, d'autre part, fait tout ce que CR prétend. Ce n'est pas sans bugs, mais ils sont délicieusement peu nombreux et survivent rarement plus d'un cycle de publication.
L'interface utilisateur du concepteur SSRS est hébergée dans l'IDE de Visual Studio. Il est joliment présenté dans le style typique de Microsoft, mais plus que cela, il est assez bien pensé, incorporant plusieurs écarts simples mais fondamentaux des concepteurs de rapports traditionnels. Par exemple, pour présenter des données tabulaires, vous définissez une table plutôt que de jouer avec des zones de texte individuelles. Par conséquent, vous n'avez pas à vous soucier de les aligner, et leur mettre des bordures est un exercice de feuille de style trivial.
SSRS fait en fait tout ce que CR prétend, il est peu coûteux, il existe une documentation technique fiable et complète, il est conçu pour être étendu (également documenté) et vous pouvez le connecter à tout ce pour quoi vous pouvez obtenir un pilote ODBC . C'est une évidence.
Il semble en fait que les groupes qui se chevauchent peuvent également être effectués avec SSRS2005, bien que je ne l'ai jamais su. Je me demande si quelqu'un a déjà résolu le problème du positionnement relatif inférieur?
J'utilise Crystal report jusqu'à la version 10 et je faisais toujours des choses que je voulais avec succès avec les applications ASP.NET. Sa sortie sur le Web est vraiment bonne comme WYSIWYG et les exportations vers Excel et PDF sont également précises. L'impression est également merveilleusement correcte.
Récemment, je travaille sur SSRS 2005 depuis environ un an et je vis de nombreux manquements qui ont dû être fournis dès le départ. La sortie Web SSRS varie considérablement selon les différents navigateurs et les différentes résolutions et rendrait facilement un développeur malade. De plus, les problèmes de défilement avec la visionneuse de rapports rendraient un utilisateur final fou assez tôt car il est basé sur HTML utilisant un IFRAME. (Remarque: Crystal 13 utilise un IFRAME dans la visionneuse Web qui souffre de problèmes de recouvrement de texte sporadiques et de chevauchements). Les exportations ne sont pas bonnes du tout. Vous ne pouvez pas aligner les images à gauche ou au centre dans les cellules et ne pouvez pas spécifier les couleurs d'arrière-plan des images. Vous ne pouvez pas centrer le corps du rapport dans son intégralité. Pour la possibilité, j'ai joué avec le HTML rendu pendant des heures et trouvé des remplacements exacts pour que cela fonctionne, mais ces correctifs simples n'étaient pas connus des développeurs SSRS je suppose parce que probablement, ils n'ont jamais utilisé SSRS pour eux-mêmes.
De plus, dans les applications Web, vous devez supporter la mauvaise interface utilisateur pour les paramètres prêts à l'emploi. Je l'ai simplement supprimé complètement et le coût de sa création dans les pages ASPX m'a fait penser à concevoir des rapports tabulaires dans DataGrids à la place en utilisant ObjectDataSource et la technique de pagination de la base de données. Vous ne pouvez pas adapter les paramètres à vos besoins. Les bogues dans les sections des paramètres publient des rapports complets sans aucune modification. La pagination avec le regroupement fonctionne avec une astuce, mais le tri échoue sur un ensemble de données complet. Pour chaque bit d'exigence d'interface utilisateur de niveau moyen à avancé, SSRS coûte tellement de temps à comprendre qu'il n'est tout simplement pas possible. Comme il y a moins d'utilisateurs SSRS, la communauté en ligne n'a pas de bonnes solutions pour les problèmes simples. Sans oublier le bon côté de SSRS, c'est son déploiement, les notifications intégrées, la mise en cache et la configuration, mais pas d'interface utilisateur à gagner.
BOTTOMLINE est que j'ai vu SSRS vous frustrer juste en raison de la non-réponse de l'équipe de support Microsoft quand ils doivent dire "désolé! pas maintenant 'après un mois. SSRS 2008 n'a également pas beaucoup de ces problèmes résolus immédiatement. De plus, le passage à SSRS 08 signifie également une migration complète des plates-formes principales. Gardant à l'esprit que plus vous utilisez un logiciel, plus il mûrit avec le temps, Crystal est de toute façon un bien meilleur choix car, SSRS accumule rapidement les coûts de correction de ses bugs par vous-même.
Puisque ce fil est revenu, je vais ajouter mes deux cents. J'ai dû utiliser Crystal pendant environ trois ans pendant la version 7 et 8 jours. Je détestais toutes les minutes. J'ai vu un peu des nouvelles versions et je n'aime toujours pas ça.
Je déteste tellement que cela me fait mal de dire ceci: d'après mon expérience, Crystal est mieux adapté que SSRS pour les rapports complexes. Un collègue et moi avons désespérément essayé d'obtenir une présentation de rapport moyennement complexe pour travailler dans SSRS et j'ai abandonné. Mon impression du produit - à mon avis, pensez-vous - est qu'il n'est pas tout à fait prêt pour les heures de grande écoute.
Le cristal vous fera haïr votre vie et cherchera un autre emploi, mais il y a une raison pour laquelle il est si omniprésent: cela fonctionne.
Vous pouvez déployer une application à l'aide de Reporting Services en incluant 3 DLL. C'est un énorme avantage. (Remarque - vous devez obtenir l'un des 3 DLL fichiers du GAC.)
Avec Crystal Reports, vous devez installer le runtime sur chaque machine qui exécutera l'application (site Web ou application client).
Reporting Services possède toutes les fonctionnalités dont la plupart des utilisateurs ont besoin et le déploiement est BEAUCOUP plus facile. Je n'utiliserai jamais Crystal Reports sauf si je le dois.
Reporting Services est beaucoup mieux dans mon expérience. C'est un meilleur environnement, mais le mieux de toutes les connexions (sources de données) sont distinctes du rapport et peuvent être partagées. Cela rend le déploiement beaucoup plus simple entre les environnements.
J'ai utilisé les deux, j'ajouterai quelques points à ce qui a déjà été dit:
Pour des choses simples, je recommanderais SSRS par défaut. Le cristal est un peu gonflé et original.
Crystal peut facilement exporter au format MS Word (.doc). Les clients le souhaitent assez souvent dans mon expérience.
Si le formatage est important, Crystal peut être meilleur. Par exemple, les rapports SSRS ne peuvent pas contenir plus d'un type de texte dans une seule zone de texte. Cela signifie que vous ne pouvez pas avoir, par exemple, un commentaire en haut du rapport contenant à la fois des italiques et du texte normal. Crystal peut le faire:
Remarque: Ce rapport contient des données de la date de début à la date de fin inclus de ces dates.
SRSS ne peut pas (sans plusieurs zones de texte qui se chevauchent). Une fois, un document Word de 20 pages m'a été remis, pour être converti en rapport contenant des données pour la douzaine de graphiques et de tableaux qu'il contient. J'ai commencé dans SSRS, mais j'ai réalisé que dans Crystal, je pouvais simplement copier et coller les bits codés en dur du rapport directement à partir de Word, avec des en-têtes colorés et tout, et ainsi économiser des jours de travail. Crystal a donc un meilleur "designer" à bien des égards.
Mise à jour:
Apparemment, ces deux problèmes ont été corrigés dans le SRSS actuel. Quelqu'un souhaite-t-il commenter davantage à ce sujet?
Je suis d'accord avec @ Carlton en partie pour les raisons qu'il décrit. Je pense également que les services de reporting sont un produit plus mature (même si Crystal Reports existe depuis plus longtemps). Le modèle de test et de déploiement est assez copieux, et la capacité intégrée de suivre l'utilisation des rapports est très utile.
Je trouve également qu'il est beaucoup plus facile de concevoir des rapports dans Reporting Services - Microsoft a appris à créer un bon IDE, tandis que Crystal IDE a toujours semblé être une réflexion après coup (bien que ce soit mieux qu'une post-naissance) , ce qui était autrefois).
Edit: Réflexions supplémentaires Je pense également que dans une boutique Windows, SSRS propose toutes sortes d'intégrations douces avec le système d'exploitation et SQL Server. Vous pouvez compter sur les assemblys SQL pour la réutilisation du code intégré assez facilement dans SSRS, et l'intégration avec le modèle de sécurité Active Directory facilite la sécurisation de vos rapports.
Mec ... ma société a tellement de rapports de cristal ... et la société avant qui en avait aussi beaucoup. De la version 8.5 à 11.5. Ils ont en quelque sorte déjà le pied dans la porte pour ainsi dire. Je pense que le CrystalReportViewer est un morceau de merde fumante mais cela fonctionne (pour la plupart).
Après avoir lu certaines de ces réponses, je passe au SSRS pour mon prochain projet de reporting! L'écriture est sur le mur ... MS va déposer Crystal de VS et le remplacer par SSRS. La seule chose qui va sucer, c'est quand MS commence à le facturer.
EDIT: Déconner avec SSRS aujourd'hui et cela semble assez prometteur. Je dois dire que le concepteur prend un certain temps pour s'y habituer ... CR Designer l'a battu dans la facilité d'utilisation. Vous pouvez dire que cela est conçu pour les programmeurs où CR est destiné aux concepteurs de rapports.
EDIT2: SSRS ne parvient vraiment pas à répondre à mes besoins en matière de rapports. La conception de rapports est un problème lorsque vous souhaitez prévisualiser et qu'aucune invite de paramètre n'est disponible pour la version autonome. Y a-t-il une meilleure façon de les concevoir ... de préférence pas en VS?
Avez-vous pensé à une alternative? Si vous souhaitez utiliser les fonctionnalités de Crystal Reports mais que vous ne voulez pas payer autant, vous pouvez consulter Crystal-Clear qui est un Java outil de création de rapports basé sur les modèles Crystal Reports également. Il est fourni avec un concepteur graphique et les sources de données sont également configurables par système. (Presque comme ODBC, vous venez de définir un nom pour la connexion et la connexion est configurée sur le système.)
Je me demande pourquoi personne n'a mentionné un gros problème avec CR - qu'il échoue simplement dans le contrôle de source ou l'environnement d'équipe. Corrigez-moi si je me trompe, mais j'ai vraiment cherché très fort pour tout outil de comparaison de rapports. Il y en a un (sorti il y a environ un an) mais ça ne marche pas bien - pas parce que c'est mauvais mais (je suppose) parce que CR n'expose pas correctement la structure du rapport ou quelque chose ... J'ai essayé d'exporter .rpt en XML mais c'est maladroit et faux. J'ai même essayé d'écrire mon propre comparateur .rpt.
Il ne s'agit pas uniquement de développement d'équipe; même s'il n'y a qu'un seul développeur, c'est un cauchemar de maintenir les versions des rapports, et si votre client a décidé d'ajouter peu de choses ou de changer quelques couleurs, vous êtes maintenant maudit de suivre chaque zone de texte car il n'y a absolument aucun moyen de découvrir les changements.
Le format RDL est beaucoup plus propre et ouvert. Et cela peut être un avantage assez important.
J'ai utilisé les deux (Crystal Reports 2008 et SSRS 2008) car je n'ai pas remarqué ce fil à temps.
Mis à part la configuration qui était un peu plus facile avec CR, je n'ai pas pu remarquer une seule fonctionnalité où CR est au moins à égalité avec SSRS. Oui, Crystal Reports est vraiment si mauvais.
À mon avis, la pire partie absous de la RC est l'IDE. Mais il y a aussi d'autres fonctionnalités de tueur, telles que de mauvaises performances SQL et des graphiques horribles (au moins dans la version CR fournie avec VS 2008) sont également des fonctionnalités de "tueur" notables.
J'ai travaillé avec CR et SSRS et c'est ce que j'ai trouvé.
Crystal Reports s'exécute dans sa propre mémoire tandis que SSRS s'exécute dans la mémoire limitée de SQL Server.
Le rapport Crystal est beaucoup trop cher. Récemment, ils ont réduit leur prix à 250 $, je pense en réponse à la sortie de SSRS 2008.
SSRS est gratuit.
La principale raison pour laquelle le rapport Crystal prospère:
Vous pouvez concevoir 80% des rapports d'un projet à l'aide de SSRS. Mais pour les 20% restants, vous devez utiliser un autre outil de reporting. Ces rapports de 20% sont utilisés par nul autre que les cadres supérieurs, directeurs et PDG. Leur exigence ne peut jamais être sapée et CR y fait un travail formidable.
Le rapport Crystal est toujours basé sur COM. ce qui est une douleur dans le **.
Le rapport Crystal ne manque pas de capacités ou de fonctionnalités. C'est le cheval de bataille de SAP. Mais beaucoup de ses classes sont protégées et ne donnent pas accès aux programmeurs. C'est par intention. Les gens de SAP sont tellement gourmands qu'ils veulent garder chaque fonctionnalité sous contrôle et facturer une fortune supplémentaire pour exposer les claases et les objets aux développeurs sous un accord de licence spécial. Déboguez et regardez rapidement l'objet ReportDocument dans VS, vous saurez malgré tout ce qui est disponible dans l'objet que vous pouvez à peine les utiliser dans votre code !!
En ce qui concerne les problèmes GUI et CSS, attendre un objet COM conçu pour une impression de précision, un rendu correct dans chaque navigateur est un point discutable car même un simple div se rend différemment dans différents navigateurs.
Je travaille avec Crystal Reports depuis 7 ans et je le maudis tout le temps tout en explorant activement toutes les autres alternatives. Mais je ne suis pas encore tombé sur quelque chose d'aussi flexible que Cystal Report. Pour la majeure partie du travail, SSRS est bon. Mais pour les tableaux de bord, les rapports complexes avec sous-rapports, les bilans, les balances d'essai, je ne perdrai jamais mon temps en SSRS.
Essayez simplement une recherche Google Trend sur Crystal Report. Il est en baisse constante depuis 6 ans. l'avenir ne semble sûrement pas bon pour CR.
Mais salut ! MS, SAP et Oracle approuvent toujours Crystal Report au cœur de leurs applications !! et aucun produit BI n'est bon marché.
Je les utilise depuis des années. Crystal Reports facture beaucoup trop et j'essaie d'utiliser SSRS autant que possible. Cependant, SSRS ne prend pas en charge Firefox ou tout autre navigateur, uniquement IE, c'est un problème. Les rapports dans Crystal sont plus agréables et les exportations sont plus puissantes, les utilisateurs veulent une bonne exportation vers Word. Si vous êtes un programmeur Java, j'utiliserais Jasper Reports, il est gratuit et utilise le langage Java pour les fonctions).
J'ai travaillé avec les deux maintenant et je les ai vus côte à côte. Le cristal a été bon, mais les dépenses au fil des ans. C'est maladroit, mais nous y sommes habitués et familiarisés avec l'interface. Je ne travaille pas dans l'environnement LAMP, cette maison fonctionne avec MS Dynamics et MAS avec des clients assez gros.
J'aime ne pas avoir à me soucier de l'installation du client pour SSRS. Les distributions sont beaucoup plus faciles et le partage des sources de données et des modèles de rapport fonctionne bien.
En ce qui concerne le navigateur, j'ai vu des jauges SSRS 2008 parfaitement rendues dans Firefox. J'ai exporté ces jauges vers Excel sans problème. J'ai déployé des rapports avec et sans MOSS sur les téléphones. La possibilité d'utiliser l'authentification Windows pour déployer des rapports ainsi que les masquer est fantastique. L'objet visualiseur de rapports dans VS 2005 et versions ultérieures est doux.
Si vous envisagez SSRS et êtes préoccupé par le fait qu'il soit "gratuit" mais que vous devez acheter une licence SQL Server supplémentaire ou distribuer SQL Express, alors vous pourriez être intéressé par Data Dynamics Reports
Il offre tout ce qui est dans SSRS et ajoute des rapports principaux, des thèmes, une région de données de calendrier, une visualisation des données (barre de données, Sparkline, Iconset, ColorScale, ...), un modèle d'objet complet pour une flexibilité de programmation maximale, un concepteur de rapports utilisateur final sans redevance, un code-barres élément de rapport, exportation de modèle Excel et fusion de données, et bien plus encore. Vous pouvez télécharger un essai de Data Dynamics (maintenant GrapeCity) et l'essayer avec quelques rapports, vous ne serez pas déçu.
Je me sens comme un martien ayant une expérience étendue et positive (mais parfois complexe) avec Crystal Reports, qui est maintenant complètement intégré dans notre interface utilisateur (VBA), où les paramètres et filtres des rapports demandés sont hérités de manière transparente de l'interface utilisateur ...
Les gens, veuillez vous référer à la version dont vous parlez!
Par exemple, le Reporting RDLC gratuit intégré VS2008 (le même que SQL Server 2005 Reporting Services) ne prend pas en charge les champs de liaison dans l'en-tête et le pied de page , et c'est une fonctionnalité de base!
Maintenant, je convertis un énorme rapport de ce VS2008 Reporting/RDLC 2005 en Crystal Report 2008 Basic (fourni avec VS2008) car il n'a pas cette fonctionnalité de base.
Je suis convaincu que Reporting Services 2.0/RDLC 2008 (fourni avec Visual Studio 2010) et mieux encore le plus récent Reporting Services 3.0/RDLC 2010 (= qui est GRATUIT dans SQL Server 2008 R2 Express avec services avancés) sont de meilleures solutions SSRS.
SQL Server R2 Express avec services avancés (GRATUIT) http://www.Microsoft.com/express/Database/InstallOptions.aspx
En ce moment, je fais une validation de principe pour Reporting Services 3.0/RDLC 2010 et je publierai les résultats.
Reporting Services (SSRS/RDLC) est toujours plus facile à travailler, mais facile a un prix. Pour les rapports simples, choisissez toujours SSRS/RDLC. Pour les rapports complexes avec maître-détail, contrôle de page, etc., veuillez créer un PoC de ces scénarios avec les dernières versions SSRS/RDLC (2008, 2010) et également avec Crystal Reports.
Pour ceux qui comparent l'ancien Crystal Reports XI et Reporting Service 1.0, veuillez consulter cet article de 2005:
SQL Server Reporting Services et Crystal Reports: une analyse concurrentielle http://www.crystalreportsbook.com/SSRSandCR_Conclusion.asp