views:

18731

answers:

26

Which of Crystal Reports and SSRS (SQL Server Reporting Services) is better to use?

+11  A: 

Reporting Services is much better in my experience. It is a better environment, but best of all the connections (data sources) are separate from the report and can be shared. This makes for much simpler deployment between environments.

Carlton Jenke
+3  A: 

I agree with @Carlton partly for the reasons he describes. I also think that reporting services is a more mature product (even though Crystal Reports has been around longer). The Test and deploy model is pretty hearty, and the built-in ability to track report usage is very helpful.

I also find it much easier to design reports in Reporting Services - Microsoft has learned how to build a good IDE, whereas the Crystal IDE has always seemed like an after thought (though that's better than an afterbirth, which is what it used to be).

Edit: Additional thoughts I also think that in a Windows shop, SSRS offers all kinds of sweet integrations with the OS and SQL Server. You can rely on SQL assemblies for built-in code reuse fairly easily in SSRS, and the integration with the Active Directory security model makes securing your reports very easy.

cori
+10  A: 

You can deploy an app using Reporting Services by including 3 DLL files. That's a huge benefit. (Note--you have to get one of the 3 DLL files from the GAC.)

With Crystal Reports, you have to install the runtime on each machine that will run the application (either a website or client app).

Reporting Services has all of the features most people need, and the deployment is MUCH easier. I will never user Crystal Reports unless I have to.

Jim
+72  A: 

On the one-hand, Crystal Reports is a steaming pile of expensive and overhyped donkey poo, and on the other hand SSRS actually fulfils all the promises that CR marketing makes - and it's free.

My contempt for CR stems from many years of being obliged to use the horrible thing. There's really no point in detailing the utter odiousness of CR when I can give you references like Clubbing the Crystal Dodo or Crystal Reports Sucks Donkey Dork (not as funny but rather more literate and substantiated with technical details).

Free?! Yup. You don't even have to buy MS SQL Server to get it - you can install SQL Express with Advanced Services. This is available as a download that includes SQL Server Reporting Services. While SQL Express is limited in the number of concurrent users it can support, the following observations are salient:

  • The licence for SSRS obtained as part of SQL Express only requires that it be deployed as part of SQL Express. There is nothing forbidding connection to other data sources or requiring that a report obtain data from SQL Server.

  • The abovementioned version of SSRS has no intrinsic restrictions on user connections. All limitations are imposed on the SQL Express database engine.

  • SSRS uses ADO.NET, which includes, out of the box, drivers for Oracle, Jet (Access), OLEDB and ODBC

Thus you can connect the free version of SSRS to any back-end to which you can connect ADO.NET, which includes (for example) MySQL. I am told by Rory in a comment below that this is "not supported". That's true but I can't find anything in the licence that forbids it and while the drivers are not supplied by SSExpress they certainly are supplied by most versions of Visual Studio and you can ship them in your setup kit. This may not be an expressly supported configuration but so what? Even if you did have a full MSSQL licence it would be asking a bit much to expect Microsoft to help you talk to some third party database (not to mention a bit weird).

I use SSRS extensively at work both for inward facing reports and for outward facing reports embedded in ASP.NET applications that provide bureau services to large numbers of paying customers. In our case it happens that the backing store is a licensed copy of Microsoft SQL Server 2008, but this is incidental to the technical merits of our reporting solution.

There is a long list of capabilities that Crystal Reports claims to support but which either don't work or which require a staggeringly expensive licence if you want more than five users. You can't even trust CR to do SQL correctly. SELECT COUNT(*) FROM SOMETABLE WHERE 1=0 should produce a result of zero but it it produces one. The built-in query engine is defective, and a team that screws up something a bunch of amateurs can do for free (eg MySQL) has no hope of getting anything you'd describe as performance out of their code.

And they don't. The evil thing leaks memory like a bucket with no bottom, and if you use SQL profiling tools you will find it is spectacularly inefficient.

As for the alleged support, I can personally attest that dialog resize bugs have gone uncorrected for decades after they were first publicly documented. If you get out your credit card and pay the extortionate ransoms demanded (I too would want handsome pay to support such a horror) you will find yourself talking to someone who claims his name is David, but inexplicably pronounces it "Dah-feet", and who doesn't even understand your question, much less have an answer.

The SSRS support situation is fairly similar, but it actually works so you don't really need much.

SSRS, on the other hand, does everything that CR claims to. It is not without bugs, but they are delightfully few, and they seldom survive more than one release cycle.

The SSRS designer UI is hosted within the Visual Studio IDE. It is attractively presented in typical Microsoft style, but more than this it is quite well thought out, incorporating several simple but fundamental departures from traditional report designers. For example, to present tabular data you define a table rather than fiddling about with individual text boxes. As a result you don't have to screw around trying to line them up, and putting borders on them is a trivial stylesheet exercise.

Look, SSRS actually does all the things CR claims to, it's free, there is extensive reliable technical documentation, it's designed to be extended (also documented) and you can connect it to anything for which you can get an ODBC driver. This is a no brainer.

Peter Wone
So, Peter...you're actually not sure about your position then?! ;-)Actually, I agree wholeheartedly!
AR
lol @ Clubbing the Crystal Dodo.
Pulsehead
Agree - but note that your sample SQL - SELECT COUNT(*) FROM SOMETABLE WHERE 1=0 - is not a good example, as this is SHOULD return a single row, with a single field - the value of COUNT(*), which should be exactly 0 - this must always be returned.
AviD
"SELECT COUNT(*) FROM SOMETABLE WHERE 1=0" should return one row, with one column, the vaue therein being 0. The value it returns in that cell is 1, which is incorrect. This is a bug, and it is profound.
Peter Wone
fwiw - When using SSRS with SQL Express it is NOT allowed/supported to connect to datasources other than SQL Server instances on the same machine (http://msdn.microsoft.com/en-us/library/cc281020.aspx and http://msdn.microsoft.com/en-us/library/ms365166%28SQL.90%29.aspx), so if you're planning to use SQL Express to get around licensing it'd be best to check closely.
Rory
+3  A: 

Did you think about an alternative? If you want to use the features of Crystal Reports but don't want to pay so much for it you could have a look at Crystal-Clear which is an Java based reporting tool supporting Crystal Reports templates too. It comes with a GUI-designer and data sources are also configurable per system. (Almost ODBC-like, you just set a name for the connection and the connection is configured on the system.)

reallyinsane
+1 I agree (seeing as how I'm a Crystal-Clear developer, hehe...)
Epaga
+1  A: 

Man...my company has sooo many crystal reports...and the company before that had lots too. From version 8.5 to 11.5. They kind of already have their foot in the door so to speak. I think the CrystalReportViewer is a steaming piece of crap but it does work(for the most part).

After reading some of these answers, I'm switching to SSRS for my next reporting project! The writing is on the wall...MS will drop Crystal from VS and replace with SSRS. The only thing that's going to suck is when MS starts charging for it.

EDIT: Messing around with SSRS today and it looks quite promising. I must say the designer is taking some getting used to...CR Designer has it beat in ease of use. You can tell this is designed for programmers where as CR is geared toward report designers.

EDIT2: SSRS really fails to meet my reporting needs. Designing reports sucks when you want to preview and no parameter prompting available for standalone. Is there a better way to design them...preferably not in VS?

dotjoe
They will never charge for RS per se, but they have always charged for SQL Server and will continue to do so. This is just another compelling reason to use SQL Server.
adolf garlic
just another way to get locked into sql server!
dotjoe
While designing your reports you can default your parameters to useful values
ck
But, how to run the report while designing?
dotjoe
Dotjoe: Well considering there are only 2 choices of databases out there (Oracle and SQL Server) Which solution would you prefer to get locked in to? If money is no object, then I'd go with Oracle, if not then SQL Server.
adolf garlic
Given that .DATA files are created whenever you run the report in VS.net, I'd have thought there is a way of previewing the report based on these (without the need for a db). [.DATA files are caches of the data based on params selected]
adolf garlic
@adolf - I just want to get locked into the solution that makes it easiest for me to design a report. :) If it was my decision, I'd be using postgresql and some open source reporting tool. I admit to not playing with the reporting services much longer than a couple days. Is their an addon to design the report in ssms? I really dislike report design in VS.
dotjoe
+1  A: 

I feel like a martian having an extensive and positive (but sometimes complex) experience with Crystal Reports, which is now completely integrated in our user interface (VBA), where requested reports parameters and filters are transparently inherited from the user interface ...

Philippe Grondier
crystal AND vba? jeez, i thought my job sucked
adolf garlic
You know what! There are even guys making a living out of Excel shits, I mean sheets!
Philippe Grondier
A: 

More on Crystal Reports in VB.NET:

http://vb.net-informations.com/crystal-report/vb.net_crystal_reports_tutorials.htm

bolton
+1  A: 

If you're considering SSRS and are concerned about the fact that it's "free" but you need to either buy and additional SQL Server license or distribute SQL Express, then you might be interested in Data Dynamics Reports

It offers all that is in SSRS and adds Master Reports, Themes, Calendar data region, Data Visualization (Databar, Sparkline, Iconset, ColorScale, ...), complete object model for maximum programming flexibility, royalty free end user report designer, barcode report item, excel template export and data merging, and much more. You can download a trial from Data Dynamics (now GrapeCity) and try it with few reports, you will not be disappointed.

+6  A: 

I've used both, I'll add a couple of points to what's already been said:

  • For simple stuff, I'd recommend SSRS by default. Crystal is a bit bloated and quirky.

  • Crystal can easily export to MS Word format (.doc). Customers want this pretty often in my experience.

  • If formatting is important, Crystal may be better. For example, SSRS reports can't have more than one type of text in a single text box. Meaning that you can't have, say, a comment at the top of the report that has both italics and normal text. Crystal can do this:


Note: This report contains data from start date to end date inclusive of those dates.


SRSS can't (without multiple overlapping textboxes). I once had a 20 page word document given to me, to be converted to a report with data for the dozen or so graphs and tables in it. I started out in SSRS, but realised that in Crystal I could just copy and paste the hardcoded bits of the report straight from word, with coloured headings and all, and saved days of work. So Crystal does have a better "designer" in many respects.

Update:
Apparently both of these issues have been fixed in the current SRSS. Anyone care to comment further on this?

MGOwen
This comment is a bit misinformative or outdated. SSRS, at least 2008, can export to DOC, and can have formatting inside text boxes (it can even do HTML there).
queen3
"without multiple overlapping textboxes",in my language(Persian, RTL) i should use one textbox per word! WTF?
Behrooz
+6  A: 

Since this thread has popped back open, I'll add my two cents. I had to use Crystal for about three years during the version 7 and 8 days. I hated every minute of it. I've seen a little bit of the newer versions and still don't like it.

I dislike it so much that it pains me to say this: from my experience Crystal's better suited than SSRS for complex reports. A coworker and I tried desperately to get a moderately complex report layout to work in SSRS and gave up. My impression of the product -- just my opinion, mind you -- is that it's not quite ready for prime time.

Crystal will make you hate your life and look for another job, but there's a reason it's so pervasive: it works.

John M Gant
+1 for clarifying the most important reason which is not technical advantage but the pain of working with Crystal Reports.
queen3
A: 

This might be old but Gawd I hate reporting services. I'll give them something that deploying reports to a server is pretty easy. But the 2005 designer is butt ugly and I couldn't design a report that looked anywhere near as nice as a CR report. I haven't deal with mega size procs but I've never had an issue with CR botching SP calls. Also SSRS cannot handle multi resultset procedures. We have many procs that return more then 1 resultset that we use in our reports. Because of this you have to hack around SSRS to get it to show properly, it's a major PITA. Combine this with the royal PITA of connecting a report viewer control to a deployed report on something not connected with active directoy and domain issues and you get major frustration trying to view reports in a web app. SSRS is ok but you can tell it's a new product and is part of the MS koolaid. Crystal while big and possibly buggy shows a helluva lot more maturity and I would pick it any day over SSRS.

I suspect you have many SPs that return multiple result sets because they were created for use with a tool that supports this. The fact that your organisation has fallen victim to a variety of vendor lock-in does not reflect poorly on the design of any other tool except insofar as those tools ought to eliminate such obstacles if they want your custom.
Peter Wone
CR can handle multiple resultset SP's? really? how is this done? I did it on accident the other day and kept crashing CR XIr2 designer.
dotjoe
+1  A: 

I have used both for years. Crystal reports charges way too much and I try to use SSRS whenever possible. However, SSRS does not support firefox or any other browser, only IE, this is a problem. The reports in Crystal look nicer and the exports are more powerful, users want good exporting to Word. If you are a java programmer, I would use Jasper Reports, it is free and uses Java language for functions.

A: 

I have worked with both over the years.

I prefer SSRS over CR but I think they both aren't great...

KenB
A: 

I've worked with both now and have seen them side by side. Crystal has been good, but expensice over the years. Its clunky, but we've gron accustomed to it and familiar with the interface. I don't work in the LAMP environment, This house works with MS Dynamics and MAS with some pretty large clients.

I love not having to worry about the client install for SSRS. Distributions is far easier and sharing data sources and report models is working out well.

AS far as broweser go, I've seen perfectly rendered SSRS 2008 gauges in Firefox. I have exported those gauges to Excel without issue. I have deployed reports with and without MOSS to phones. The ability to use windows authentication to deploy reports as well as hide them is fantastic. The report viewer object in VS 2005 and later is sweet.

Kevin Bladsacker
+10  A: 

I've been using Crystal report till version 10 and was always doing stuff i wanted successfully along with ASP.NET applications. Its output on web is really good like WYSIWYG and exports to Excel and PDF are also accurate. Printing is also marvellously correct.

Recently, i've been working on SSRS 2005 for around an year and have been living to witness so many lackings that must have been provided out-of-the-box too. SSRS web output varies greatly with different browsers and diff resolutions and would easily make a developer sick. Moreover, the scrolling issues with report viewer would make an end-user mad quite early as it is based on HTML using an IFRAME. The exports are not good at all. You cannot align images left or center in cells and cannot specify background colors for images. You cannot center align complete report body. For possibility, i've played with the rendered HTML for hours and figured out exact replacements to make that works, but these simple fixes were not known to SSRS developers i guess because probably, they never used SSRS for themselves.

Further, in web applications, you need to bear the bad UI for parameters out-of-the-box. I have simply removed it completely and the cost of creating it in ASPX pages made me think to design tabular reports in DataGrids instead using ObjectDataSource and database pagination technique. You cannot layout the parameters to your needs. Bugs in paramters sections postsback complete reports without any changes. Paging with grouping works with a trick, but than sorting fails on complete dataset. For every bit of medium to advanced level of UI requirement, SSRS costs so much of time figuring out that it is simply not possible. As there are less of SSRS users, online community has no good solutions for simple problems. Not to forget the good side of SSRS is its deployment, notifications built-in, caching and configuration side, but no UI to win.

BOTTOMLINE is that i've seen SSRS frustating you just due to the nonresponsiveness of Microsoft Support team when they have to say 'sorry! not now' after a month. SSRS 2008 also doesn't have many of these issues fixed rightaway. Moreover, moving to SSRS' 08 means a complete migration of back-end platforms as well. Keeping the equation in mind that the more you use a software, the more it gets mature over time, Crystal is anyways a much better choice because, SSRS soon accumulates costs for fixing their bugs by yourselve.

+1 for presenting the only credible counterargument I have seen so far. I should point out that "I don't know how to make it do X" is not the same as "It can't do X". Personally I think the Microsoft support is better than the CR support.
Peter Wone
tl;dr (needs formatting)
gt
+2  A: 

I've used both (Crystal Reports 2008 and SSRS 2008) because I did not notice this thread in time.

Apart from the setup which was a bit easier with CR, I could not notice a single feature where CR is at least on par with SSRS. Yes, Crystal Reports is really that bad.

In my opinion the absoultely worst part in CR is the IDE. But there are also other killer features, such as poor SQL performance and horribly looking graphs (at least in the CR version that comes with VS 2008) are also notable "killer" features.

Adrian Grigore
Hm, I personally see CR designer as good and its sections and groups concept as pretty powerful. I could do incredible things with CR. It's more low-level but this (like in Photoshop) just allows to do more things. Of course, it also makes it more pain to do ;-)
queen3
Unfortunately a LOT more pain in my experience...
Adrian Grigore
A: 

I have been using Crystal since version 7 to 11. I am having problem of loosing formating in excel specially when using tomany Sub Reports. When I add more tables and View to gether and link it with each other. Its takes long and long time in processing.

Subhash Upadhyay
A: 

Certainly Peter Wone has covered it very well, but using both myself, one of my pet hates about using CR is the lact of backward compatability with some of the versions.

kevchadders
A: 

I wonder why no-one mentioned one big issue with CR - that it just fails in source control or team environment. Correct me if I am wrong but I really looked very hard for any report diff tools. There's one (released about year ago) but it just doesn't do well - not because it's bad but (I guess) because CR just don't expose report structure correctly or something... I tried to export .rpt to XML but it's clunky and wrong. I even tried to write my own .rpt comparer.

It's not about team development only; even if there's single developer it's a nightmare to maintain reports versions, and if your customer decided to add few things or to change few colors, you're now cursed to track every single textbox since there's absolutely no way to find out the changes.

RDL format is much more clean and open. And this can be a pretty major advantage.

queen3
A: 

Stonefield Query is quick and easy to install with little help or no assitance from the IT staff. No software is installed on the database server, eliminating another IT bottleneck. Simply install the software on your pc and specify the database connection to use.

Ken Kupchyk
+1  A: 

I prefer non depend from CR or MS, that is why select third-party reporting tool. So - I can connect my reports to any (not only MS SQL) database, I can deploy visual report designer to my users for free, I can work with business objects (no way for such working in CR).

Merl
A: 

People, please refer to version of which you are talking about!

For example, the VS2008 built-in free RDLC reporting (the same as SQL Server 2005 Reporting Services) doesn't support binding fields in header and footer, and it is a basic feature!

Now I'm converting a huge report from this VS2008 Reporting / RDLC 2005 to Crystal Report 2008 Basic (which comes with VS2008) because it doesn't have this basic feature.

I am confident that Reporting Services 2.0 / RDLC 2008 (which comes with Visual Studio 2010) and better yet, the newest Reporting Services 3.0 / RDLC 2010 (which comes for FREE in SQL Server 2008 R2 Express With Advanced Services) are better SSRS solutions.

SQL Server R2 Express with Advanced Services (FREE) http://www.microsoft.com/express/Database/InstallOptions.aspx

Right now I am making a Proof of Concept for Reporting Services 3.0 / RDLC 2010, and will post the results.

Reporting Services (SSRS/RDLC) is always more easy to work, but easy comes with a price. For simple reports, always choose SSRS/RDLC. For complex reports with master-detail, page control and so on, please make a PoC of these scenarios with newest SSRS/RDLC versions (2008,2010) and also with Crystal Reports.

Wanderson Santos
A: 

For those who are comparing the old Crystal Reports XI and Reporting Service 1.0 please see this 2005 post:

SQL Server Reporting Services and Crystal Reports: A Competitive Analysis http://www.crystalreportsbook.com/SSRSandCR_Conclusion.asp

Wanderson Santos
A: 

Reporting software that actually works??!!! What kind of crazy business model is that eh?

Of course, that's until SAP (or whoever the hell owns Crystal Reports this week) buys SSRS of Microsoft...

James
A: 

My last project was/is about converting CR Reports to RS (RDCL!).

As MS makes it sound that RDLC is just a local version of RDL, is wrong. Plenty of features are not implemented or not working with RDLC.

Examples:

Expressions dont work in header or footer when printed out to word/excel(PDF works). Details of Records can't be kept together. A funny memory leak when refreshing the report in the reportviewer control. Changes on text always apply to the whole text box.

When you are intrested in the output into excel/word (xls/doc) you should make 100% sure that every feature you need is possible and works.

Also in my opinion compared to CR, RS is missing a lot of small things like the option to place an object on the report to the end of a page, or consisteny of propterties. Why cant i put an expression on the Type of line to enclose a tablix field, why do i have to do it on the color.

The feature which I missed the most in RS was there basicaly no options to really hide an object on the Report a row in a table that is empty because the item in the list does not have that entry. YOU CAN NOT HIDE(as in not there) IT, it may me empty but still takes space on the report. In CR there was the option for a section to say "hide when you are empty", why it is not in VS2010 RS baffles me.

My conclussion "reporting stinks!", let some one else do it.

maxl