本文介绍了将SQL Server Reporting Services与Crystal Reports进行比较的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下哪个和(SQL Server Reporting Services)更好使用?

解决方案

我的蔑视CR源于多年来被迫使用可怕的东西。没有什么可以详细说明CR的完全可憎之处,当我可以给你一些参考资料,例如或(不如有趣但更多的文化和技术细节证实)。



免费?对。你甚至不必购买MS SQL Server来获得它 - 你可以安装SQL Express与高级服务。这可以。虽然SQL Express在其可支持的并发用户数方面有限,但以下观察结果是显着的:




  • SSRS的许可证获取为
    部分的SQL Express只需要
    它被部署为SQL
    Express的一部分。没有禁止
    连接到其他数据源或
    要求报表从SQL Server获取数据


  • 上述版本的SSRS

    用户连接没有内在限制。


  • SSRS使用ADO.NET,其中包括
    开箱即用的Oracle驱动程序,
    Jet(Access),OLEDB和ODBC




可以将免费版本的SSRS连接到您可以连接ADO.NET的任何后端,包括(例如)MySQL。 Rory在下面的评论中告诉我,这是不支持。这是真的,但我不能在许可证中发现任何禁止它,而驱动程序不是由SSExpress提供 他们肯定 提供的大多数版本的Visual Studio和你可以将它们装运到您的安装工具包中。这可能不是一个明确支持的配置,但什么?即使你有一个完整的MSSQL许可证,它会要求一点点期望微软帮助你谈谈一些第三方数据库(更不用说有点古怪)。



我在工作中广泛使用SSRS,用于向内报告和嵌入在向大量付费客户提供局点服务的ASP.NET应用程序中的面向外部的报告。在我们的例子中,后台存储是Microsoft SQL Server 2008的许可副本,但这是我们的报告解决方案的技术优点。



有一个水晶报表声称支持但无法工作,或需要一个惊人的昂贵的许可证,如果你想要超过五个用户的长列表的功能。你甚至不能信任CR正确地做SQL。 SELECT COUNT(*)FROM SOMETABLE WHERE 1 = 0 应产生零结果,但它会产生一个。内置的查询引擎是有缺陷的,一个团队拧紧一些业余爱好者可以免费(例如MySQL)的东西没有希望得到任何你描述为性能的代码。



而他们没有。邪恶的东西泄漏内存像一个没有底部的桶,如果你使用SQL分析工具,你会发现它是



至于所谓的支持,我可以亲自证明对话框调整大小的错误已经不被纠正十年。如果你出去你的信用卡和支付勒索的赎金要求(我也想要英俊的薪水支持这样的恐怖),你会发现自己与一个声称他的名字是大卫的人说,但莫名其妙地发音Dah脚,



SSRS支持情况是相当类似的,但它实际上是工作,所以你不需要真正需要许多。



另一方面,SSRS执行CR声明的一切。它不是没有bug,但他们是令人愉快的很少,他们很少生存多个发布周期。



SSRS设计器UI托管在Visual Studio IDE中。它是典型的微软风格吸引人的呈现,但更多的是相当深思熟虑,结合几个简单但根本的背离传统报告设计师。例如,要显示表格数据,您可以定义一个表,而不是使用单个文本框来处理。因此,您不必为了排列它们而拧紧,而在其上放置边框是一个简单的样式表练习。



SSRS实际上会做所有的事情声称,它的价格便宜,有广泛可靠的技术文档,它的设计是扩展(也记录),你可以连接到任何你可以得到一个ODBC驱动程序。这是一个没有脑子的。



SSRS的一些缺点




  • 明显如何绑定页眉和页脚中的字段。

  • 相对于页面底部位置是不可能的(据我所知)。对于某些类型的报告,这是一个真正的问题,我可以想到没有解决方法。

  • 在交叉表中不支持expando水平汇总。

  • 没有对报表页眉和页脚的直接支持。在报表布局的顶部和底部使用Rectangle对象,并适当设置分页属性。或使用子报表。

  • 缺少对重叠组间隔的支持(CR分组系统可以执行此操作) UPDATE SSRS 2008 R2现在支持这一点。它被埋在分组编辑对话框中。查找组变量和。



也做SSRS2005,虽然我从来不知道。我不知道有没有人破解底部相对定位问题?


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

解决方案

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 aspart of SQL Express only requiresthat it be deployed as part of SQLExpress. There is nothing forbiddingconnection to other data sources orrequiring that a report obtain datafrom SQL Server.

  • The abovementioned version of SSRShas no intrinsic restrictions onuser connections. All limitationsare imposed on the SQL Expressdatabase 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.

SSRS actually does all the things CR claims to, it's inexpensive, 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.

Some shortcomings of SSRS

  • It is not obvious how to bind fields in page headers and footers.
  • It is not possible (so far as I know) to position relative to the bottom of a page. This is a genuine problem for certain types of report, and one for which I can think of no workaround.
  • There's no support for expando horizontal rollups in cross-tabulations.
  • There's no direct support for report headers and footers. Use Rectangle objects at top and bottom of the report layout, with pagebreaking properties set appropriately. Or use subreports. The people who complain about this obviously haven't tried very hard.
  • Lack of support for overlapping group intervals (the CR grouping system can do this) UPDATE SSRS 2008 R2 now supports this. It's buried in the grouping edit dialog. Look up "group variables" and read this.

It actually looks like overlapping groups can be done with SSRS2005 too, although I never knew that. I wonder did anyone ever crack the bottom-relative positioning issue?

这篇关于将SQL Server Reporting Services与Crystal Reports进行比较的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-23 01:42
查看更多