当前位置:  开发笔记 > 编程语言 > 正文

将SQL Server Reporting Services与Crystal Reports进行比较

如何解决《将SQLServerReportingServices与CrystalReports进行比较》经验,为你挑选了6个好方法。

哪个Crystal Reports和SSRS(SQL Server Reporting Services)更好用?



1> Peter Wone..:

一方面,Crystal Reports是一堆昂贵且过于夸张的驴子便便,而另一方面,SSRS实际上履行了CR营销所做的所有承诺 - 而且它是免费的.

我对CR的蔑视源于多年来被迫使用这件可怕的事情.如果我能给你一些像水晶渡渡鸟俱乐部或Crystal Reports Sucks Donkey Dork这样的参考文献(不是很有趣,而是更有文化,并且有技术细节证实),那么详细说明CR的彻底恶劣就没有意义了.

自由?!对.您甚至不必购买MS SQL Server来获取它 - 您可以使用高级服务安装SQL Express.这可以下载包含SQL Server Reporting Services.虽然SQL Express在它可以支持的并发用户数量方面受到限制,但以下观察结果非常突出:

作为SQL Express的一部分获得的SSRS许可仅要求将其部署为SQL Express的一部分.没有任何禁止与其他数据源的连接或要求报告从SQL Server获取数据.

上述SSRS版本对用户连接没有内在限制.所有限制都强加于SQL Express数据库引擎.

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

因此,您可以将免费版本的SSRS连接到任何可以连接ADO.NET的后端,其中包括(例如)MySQL.罗里在下面的评论中告诉我,这是"不支持".这是真的,但我在许可证中找不到禁止它的任何内容,虽然驱动程序不是由SSExpress提供的,但它们肯定由大多数版本的Visual Studio提供的,您可以在安装工具包中发送它们.这可能不是一个明确支持的配置,但那么呢?即使你确实拥有完整的MSSQL许可证,也可能会要求微软帮助你与某些第三方数据库进行交流(更不用说有点奇怪了).

我广泛使用SSRS来处理面向内部的报告以及嵌入在ASP.NET应用程序中的向外报告,这些报告为大量付费客户提供局服务.在我们的例子中,后备存储是Microsoft SQL Server 2008的许可副本,但这是我们的报告解决方案的技术优点的附带条件.

Crystal Reports声称支持一长串功能,但如果您需要超过五个用户,这些功能要么不起作用,要么需要昂贵的许可证.您甚至不能信任CR正确执行SQL.SELECT COUNT(*) FROM SOMETABLE WHERE 1=0应该产生零的结果,但它产生一个.内置的查询引擎是有缺陷的,并且一个团队可以解决一堆业余爱好者可以免费做的事情(例如MySQL)没有希望从代码中获得任何你描述为性能的东西.

他们没有.邪恶的东西像没有底部的桶一样泄漏内存,如果使用SQL分析工具,你会发现效率非常低.

至于涉嫌的支持,我个人可以证明该对话框中调整的bug也水涨船高未修正的几十年后,他们第一次公开记录.如果你拿出你的信用卡并支付所要求的敲诈勒索赎金(我也希望得到很高的报酬来支持这种恐怖),你会发现自己正在和一个声称自己名字叫大卫的人说话,但莫名其妙地说它是"Dah-feet",谁甚至不理解你的问题,更不用说有答案了.

SSRS的支持情况非常相似,但它确实有效,因此您并不需要太多.

另一方面,SSRS完成CR声称的所有内容.它并非没有错误,但它们很少,并且它们很少能在一个以上的发布周期中存活.

SSRS设计器UI托管在Visual Studio IDE中.它以典型的微软风格呈现,但不仅如此,它还经过深思熟虑,融合了传统报表设计师的几个简单但根本的偏差.例如,要显示表格数据,您需要定义一个表,而不是摆弄单个文本框.因此,您不必为了将它们排成一行而烦恼,并且在它们上面放置边框是一个简单的样式表练习.

SSRS实际上完成了CR声称的所有功能,它价格低廉,有广泛可靠的技术文档,它可以扩展(也有文档记录),您可以将它连接到任何可以获得ODBC驱动程序的东西.这是没有道理的.

SSRS的一些缺点

如何绑定页眉和页脚中的字段并不明显.

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

交叉表中不支持expando水平汇总.

报表页眉和页脚没有直接支持.在报表布局的顶部和底部使用Rectangle对象,并正确设置分页符属性.或使用子报告.抱怨这个的人显然没有非常努力.

缺乏对重叠组间隔的支持(CR分组系统可以执行此操作)UPDATE SSRS 2008 R2现在支持此功能.它隐藏在分组编辑对话框中.查找"组变量"并阅读此内容.

它实际上看起来像重叠组也可以用SSRS2005完成,虽然我从来不知道.我想知道有没有人破解底部相对定位问题?


"SELECT COUNT(*)FROM SOMETABLE WHERE 1 = 0"应该返回一行,其中一列,其中的vaue为0.它在该单元格中返回的值为1,这是不正确的.这是一个错误,它是深刻的.
所以,彼得......那你真的不确定自己的位置了吗?!;-)实际上,我全心全意地同意!
通过"一群业余爱好者",我的意思是一群没有报酬的人.根据定义,在没有预期付款的情况下执行服务的人是业余爱好者.奥运会运动员是业余爱好者.
同意 - 但请注意您的示例SQL - SELECT COUNT(*)FROM SOMETABLE WHERE 1 = 0 - 不是一个很好的示例,因为这应该返回单行,带有一个字段 - COUNT(*)的值,应该是0 - 必须始终返回.
什么是"一群业余爱好者"是什么意思?
fwiw - 在SQL Express中使用SSRS时,不允许/支持在同一台机器上连接除SQL Server实例以外的数据源(http://msdn.microsoft.com/en-us/library/cc281020.aspx和http: //msdn.microsoft.com/en-us/library/ms365166%28SQL.90%29.aspx),因此,如果您计划使用SQL Express来获取许可,最好仔细检查.
这是我一段时间内读过的最好的回应之一.我的公司刚刚切换到SSRS以获取所有新客户报告,而且更加容易.通过比较,它使Crystal Reports看起来非常愚蠢.我们花了很多时间为客户创建自定义报告,我们发现我们可以更快地创建,编辑和部署报告.

2> 小智..:

我一直在使用Crystal报告直到版本10,并且总是做我想成功的东西和ASP.NET应用程序.它在Web上的输出非常好,如WYSIWYG,并且导出到Excel和PDF也是准确的.印刷也非常正确.

最近,我已经在SSRS 2005上工作了大约一年,并且一直活着见证了许多必须提供开箱即用的缺点.SSRS Web输出随着浏览器和差异分辨率的不同而变化很大,很容易让开发人员生病.此外,报表查看器的滚动问题会使最终用户很早就发疯,因为它基于使用IFRAME的HTML.(注意:Crystal 13在Web查看器中使用IFRAME,它遭受零星的文本换行和重叠问题).出口并不好.您无法在单元格中左对齐或居中对齐图像,也无法为图像指定背景颜色.您无法居中对齐完整的报告正文.对于可能性,我已经使用渲染的HTML几个小时,并找出确切的替换,以使其工作,但SSRS开发人员不知道这些简单的修复,因为可能,他们从未使用过SSRS.

此外,在Web应用程序中,您需要为开箱即用的参数承载错误的UI.我已经完全删除了它并且在ASPX页面中创建它的成本让我想到使用ObjectDataSource和数据库分页技术来设计DataGrids中的表格报告.您无法根据需要布置参数.参数部分中的错误会回发完整报告而不做任何更改.使用分组进行分页可以使用技巧,但是在完整数据集上排序失败.对于中等到高级UI要求的每一点,SSRS花费了大量时间来确定它根本不可能.由于SSRS用户较少,因此在线社区对简单问题没有好的解决方案.不要忘记SSRS的好处是它的部署,内置通知,缓存和配置方面,但没有赢得的UI.

BOTTOMLINE是我看到SSRS让你感到沮丧,因为微软支持小组在他们不得不说'对不起'时没有反应!现在不是'一个月后'.SSRS 2008也没有立即修复这些问题.此外,转向SSRS'08也意味着完全迁移后端平台.记住这个等式,你使用软件的次数越多,随着时间的推移就越成熟,Crystal无论如何都是更好的选择,因为SSRS很快就会累积修复错误的成本.


tl; dr(需要格式化)
+1表示迄今为止我见过的唯一可信的反驳.我应该指出"我不知道如何使它做X"与"它不能做X"不一样.我个人认为微软的支持比CR支持更好.
您是否尝试过SSRS 2012向我们提供最新审核?
/我思考Talha是否可能成为CR支持团队的一员.

3> Jim..:

您可以使用Reporting Services部署应用程序,方法是包含3个DLL文件.这是一个巨大的好处.(注意 - 你必须从GAC获得3个DLL文件中的一个.)

使用Crystal Reports,您必须在将运行应用程序(网站或客户端应用程序)的每台计算机上安装运行时.

Reporting Services具有大多数人需要的所有功能,部署更加轻松.除非必须,否则我永远不会使用Crystal Reports.



4> John M Gant..:

由于这个线程已经弹回,我将加上我的两分钱.在版本7和8天期间,我不得不使用Crystal大约三年.我讨厌它的每一分钟.我看过一些新版本,但仍然不喜欢它.

我非常不喜欢它,这让我很难说:从我的经验来看,Crystal比SSRS更适合复杂的报道.一位同事和我拼命想要一个适度复杂的报告布局在SSRS中工作并放弃了.我对产品的印象 - 只是我的意见,请注意 - 是它还没有为黄金时间做好准备.

水晶会让你讨厌你的生活并寻找另一份工作,但这是有原因的,它是如此普遍:它有效.



5> Carlton Jenk..:

根据我的经验,Reporting Services更好.这是一个更好的环境,但最好的所有连接(数据源)都与报告分开并且可以共享.这使得环境之间的部署更加简单.



6> MGOwen..:

我已经使用了两者,我将在已经说过的内容中添加几点:

对于简单的东西,我建议默认使用SSRS.水晶有点臃肿和古怪.

Crystal可以轻松导出为MS Word格式(.doc).根据我的经验,客户经常想要这个.

如果格式化很重要,Crystal可能会更好.例如,SSRS报告在单个文本框中不能有多种类型的文本.这意味着您不能在报告顶部有一条注释,它包含斜体和普通文本.水晶可以做到这一点:


注意:此报告包含从开始日期到结束日期的数据,包括这些日期.


SRSS不能(没有多个重叠的文本框).我曾经给过一个20页的单词文档,转换成一个包含十几个图形和表格数据的报告.我从SSRS开始,但意识到在Crystal中我可以直接从单词复制和粘贴报告的硬编码位,带有彩色标题和所有内容,并节省了工作时间.因此,Crystal在许多方面确实拥有更好的"设计师".

更新:
显然,当前的SRSS中已修复了这两个问题.有人关心进一步评论吗?


这个评论有点误导或过时.SSRS,至少2008年,可以导出到DOC,并可以在文本框内进行格式化(它甚至可以在那里做HTML).
推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有