我正在使用ASP .NET 2.0,VS 2008和SQL Server 2005开发Web应用程序。我想将SSRS 2005用于我需要为此Web应用程序构建的各种报告。我想说服团队,我们应该采用SSRS作为我们拥有的大多数内部和外部Web应用程序的主要报告平台。
Reporting Services的优缺点是什么?我可以看到很多专业人士喜欢与IIS,SQL Server和Visual Studio的紧密集成,丰富的演示功能和导出功能,订阅等等。所以我主要对SSRS的负面感兴趣。
编辑:据我所知,如果我不使用VS 2005进行应用程序开发,我将使用不同的Visual Studio版本进行应用程序和报表开发。但是,我对SSRS本身的否定(或不那么好的方面)更感兴趣。答案 0 :(得分:9)
我知道你说2005年,但我也将在2008年附近发表评论。
SRS优点:
- 它是免费的(前提是您拥有SQL服务器许可证)
- 与SQL Server紧密集成数据,但它可以处理任何.NET(Oracle,ODBC等等)。 (2008 has native support for Terradata too
)
- Visual Studio,SharePoint和PerformancePoint的组件都存在,以便轻松利用它。它只是一个Web应用程序,因此集成到任何可以与Web服务器通信的网页或应用程序也很容易
- 内置工具来进行订阅(即定期发送到包含报告的人员列表的电子邮件)。收件人列表可以是静态人员或sharepoint站点,也可以是动态人员列表(从数据库中提取)(08 adds support for dynamic to sharepoint too
)
- 存在增强产品的第三方供应商
- 导出为各种格式(XML,CSV,Excel,PDF等...)
- 能够设计模板,高级用户可以使用这些模板在不知道SQL的情况下构建报告(因为SQL包含在模板中)。高级用户使用特殊的报告构建工具,通过单击一次即可
- 与Crystal报告的工作方式不同(我不喜欢Crystal,这就是为什么这对我来说是个专业人士)
SRS缺点:
- 图表控件看起来像Excel 2003并且是有限的。 (2008 has the Dundas controls in by default so they are much more powerful, more varied and better looking
)
- 由于它是一个Web应用程序而导致的Kerberos问题可能导致烦人的问题(2008 removes that as it is no longer an IIS web app. It runs it's own web server based off the IIS core but is closer to a stand alone app - so the security issues aren't a problem
)
- 设计师支持是一种痛苦。 2000报告必须在VS 2003中开发,2005报告必须在VS 2005中开发,2008报告必须在VS 2008中开发。通过Visual Studio,我指的是使用SQL管理工具获得的正常版本或薄版本。
- 兼容性。每个版本的报告服务只能运行当前版本和报告的一个版本
- 安全性仅限于集成Windows或匿名(2008 has added support for forms based security and for custom providers, like you get with ASP.NET
)
答案 1 :(得分:4)
我在您的设置中看到的一个缺点是,您将不得不使用Visual Studio 2005作为报告项目,因为您使用的是SSRS 2005.
由于看起来您正在使用Visual Studio 2008进行其他开发,这意味着安装了两个版本,并且必须同时打开和运行。
我处于相同的情况,这是一个麻烦,但我已经习惯了。
编辑:
我碰到的其他一些缺点通常与设计师有关。它们可能已于2008年修复(不确定),但与其他更成熟的报告解决方案相比,我将它们归因于SSRS的初期阶段。
每次进入数据选项卡时,即使您将数据集设置为“存储过程”,数据集也会更改为“文本”
更改查询时Web服务数据集丢失其参数
表达式编辑器非常笨拙。它比使用记事本略好。
答案 2 :(得分:3)
缺点:
在Firefox或其他浏览器中渲染可能会有所不同。在ASP.NET页面上使用SSRS ReportViewer时,只需确保在IE以外的浏览器上呈现时验证报表的外观/布局。
一个问题是,对于SSRS,开发人员可以使用的选项太多了,起初可能会让人感到困惑。我在谈论是否使用本地报告或服务器报告,是否将代码放入代码模块,可重用程序集中,或使用可重用的托管代码(C#)存储过程。
我在SSRS中能想到的最大问题是代码模块非常基础。没有intellisense和没有调试功能。如果SSRS脚本支持C#而不仅仅是VB.NET,那就太棒了。
虽然表达式很棒,但问题是没有单个容器/位置允许您查看报表中定义的所有表达式。这可能会引发维护噩梦。
也就是说,SSRS是经验丰富的开发人员手中的强大工具。
答案 3 :(得分:2)
优点:
缺点:
我经常以最简单的方式运行报告。最近我构建了自己的基于Web的界面,可以驱动PDF / HTML / Crystal / SRSS报告的任意组合并提供它们。 Crystal通常会分两步完成,或者SRSS会做得更好。如果我现在必须选择一个作为所有场景的首选,我可能会选择Crystal。我使用SRSS的时间越来越多,并且仍处于活跃的功能开发阶段(赶上像Crystal这样的产品),我可以看到它被更多地使用了......但是还不是很好。
答案 4 :(得分:1)
我发现SSRS非常强大,并提供了非常广泛的功能,以满足您的报告需求。我尝试了其他人(水晶),并不喜欢它。 (这可能只是个人品味)。
即使是初学者,SSRS也有很多向导可以为您提供所需的结果,对于有经验的开发人员,您可以使用钻取,颜色,编码等来微调报告。
老实说,我对SSRS没什么好说的。 Dustin指出的一个缺点是你的VS版本和SQL版本不同。我有一个在VS2005中的应用程序,但使用SQL 2000后端,我必须在VS2003项目中分离我的报告才能使它们正常工作。
答案 5 :(得分:1)
为了更好地提供分析,如果我们新推出您正在考虑的替代方案,将会更容易。例如,如果它是SSRS vs nothing,那么参数很简单,同样SSRS vs bespoke报告(例如ASP.NET)。但是,如果您正在考虑其他报告工具,例如那么水晶我们可以更加批判。此外,您还在计划什么类型的报告,以及您理想需要哪些功能。
无论如何,我基本同意其他海报。 SSRS是免费的&很有能力。其他系统可能有额外的铃声和口哨,但这些问题是否重要,并为成本做好准备?
我想,鉴于SSRS是免费且容易设置的,我的建议是进行试验;你可能会通过一些实验来让自己的想法成为现实 - 你没有什么可失去的!
答案 6 :(得分:1)
SSRS非常简单易用。我们有实习生在工作的第一天用SSRS撰写报告,并且做得很好。
对于只想快速完成报告的开发人员而言,这种简单性有很长的路要走,因此他们可以回到实际编码状态。
答案 7 :(得分:0)
如果我错了,请纠正我,但SSRS不使用表单身份验证。要使用内置组件从Web应用程序查看报告,将使用对应用程序使用的身份验证。但是,对于订阅和使用报表生成器应用程序(单击一次),需要访问报表管理器的窗口身份验证。
[编辑]来自Robert MacLean - MSSQL 2008确实支持表单身份验证,这是一件好事。
答案 8 :(得分:0)
我遇到的主要问题是在舞台/制作网络环境中设置Reportserver。 我必须将Reportserver Webservice中的报告导入Web应用程序。现在环境看起来很简单,但我记得当时很难调试。
另一个问题是多语言报告。再说一遍:现在它易于使用,但准备做一些谷歌搜索。
设计师是废话。谁知道什么= First(Fields!Sales.Value,“DataSet1”)是什么意思?我也遇到了报告大小的问题(该报告的设计符合A4页面,但最终没有。)
我仍然喜欢这个产品。一段时间后,我解决了所有问题,我们的实习生可以设计和发布好的报告。
答案 9 :(得分:0)
SSRS 2005 Pro集成在Sharepoint中 使用Kerberos等设置Sharepoint中的Cons集成可能是一团糟......
答案 10 :(得分:0)
我只会在这里提出一些消息,因为大多数人已经提到过这些好处。
SSRS 2008: 原始用户界面 花哨的东西很少灵活,即华丽的图表,地理地图(没有长期) 用户交互仅限于应用过滤器,休息是非常静态的
MS认真地重新考虑竞争对手在BI& amp;数据可视化。