有哪些适用于 .Net 的快速报告解决方案?
我正在寻找与 .Net(特别是 C#)兼容的快速报告服务。 此外,由于许多公司对其定价都讳莫如深(例如 Cognos),因此了解它们的价格可能会有所帮助。
我们正在从 SQL Server 2005 数据库向 PDF 和 Excel 生成串行报告。 特别是由于一次生成的报告数量(例如 6,000 个 20 页打印报告),我们正在寻找一种快速解决方案。
我们将报告转储为 PDF,然后将报告通过 FTP 传输到外部实体以供其使用。 我们生成大约 30 种不同类型的报告,但我们可能会为数据库中的每个关键项目生成相同的报告数千次。 每个报告将由 5-15 个简单查询提供(只有几个连接,有时是一个分组依据)。 我并不特别关心查询时间,而是渲染到内存流的时间(或者序列化到磁盘,如果解决方案与解决方案之间存在显着差异)。
I'm looking for fast reporting services that are compatible with .Net (C# specifically). Additionally since many of these companies are coy about their pricing (e.g. Cognos) it would be helpful to know how expensive they tend to be.
We are doing serial reporting to PDF and Excel from a SQL Server 2005 database. Specifically because of the number of reports being generated (e.g. 6,000 20 printed page reports) at a time, we're looking for a fast solution.
We do a dump of the reports to PDF and them FTP the reports to an external entity for their consumption. We produce about 30 different types of reports, but we may produce the same report several thousand times for each key item in our database. Each report will be fed by 5-15 simple queries (only a few joins and sometimes a group by). I'm not particularly concerned with the query times, but rather the time to render to a memory stream (or serialize to disk if that is significantly different from solution to solution).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
如果您已经有 sql 2005,那么报告服务是免费的。 它本身支持将报告呈现为 Excel 和 PDF,并具有相当丰富的文档和示例来帮助您入门。
设计器集成到 Visual Studio 中,服务器端的管理选项甚至可以使一些相当复杂的订阅和交付场景变得很容易完成。 例如,数据驱动订阅为您提供了一种内置方法来推动报告的计划创建,这些报告通过多种交付选项(电子邮件、文件共享等(您可以添加更多))交付。
当你说快速时 - 我认为 SSRS 适合这两种情况。 不仅因为您已经在使用 SQL,所以您了解 MSFT 工具集,所以升级应该很快,而且性能和架构(仅报告服务器轻松扩展)将足以满足您正在做的事情。
If you already have sql 2005 then reporting services is free. It natively supports rendering reports to Excel and PDF and has pretty extensive documentation and examples to get you started.
The designer is integrated into visual studio and the management options on the server side can make even some pretty complex subscription and delivery scenarios pretty easy to accomplish. For example, data driven subscriptions give you a built in way to drive the scheduled creation of reports that are delivered via several delivery options (email, file share etc (you can add more)).
When you say fast - I think SSRS fits both cases. Not only should the ramp up be fast because you are already using SQL so you know the MSFT toolset but the performance and architecture (easy scale out of just the reporting server) is going to be sufficient for what you are doing.
Cognos、SAP Business Objects、Oracle BI Suite、MicroStrategy 和 Reporting Services 在从各自的报表生成器渲染为 Excel 和 PDF 时的性能基本相当。 如果您尝试输出太大的报告,所有这些都可能会遇到内存错误。 页数并不是报告大小的良好指标。 您可以拥有一个 1 页报告,以 HTML 格式输出 100 万行,也可以拥有一个 20 页报告,每页仅输出 40 行。 由于内存限制,1 页报告可能无法呈现,而 20 页报告可能不会出现呈现问题。
Cognos 和 Business Objects 通常会花费您数十万美元的初始许可费和年度维护支持合同费。 如果您已经在使用 SQL Server 2000 / 2005 / 2008,Reporting Services 显然不会出现此问题。如果您仅运行 Oracle、MySQL 或其他非 Microsoft 数据库后端,那么购买仅用于报表的 SQL Server 可能会更经济。从许可角度来看更便宜。 然而,如果您的公司没有 SQL Server 方面的专业知识,从运营开销的角度来看,它可能会更昂贵。 我不建议使用 Reporting Services 作为非 Microsoft 数据库的前端。 去过那里,做过那件事,不值得。 Reporting Services 可以与非 Microsoft 数据库配合使用,但如果您是非 Microsoft 数据库商店,Cognos 和 Business Objects 可以更好地抽象数据库。
您可能想要确定是否支持允许非 IT 最终用户构建报告。 如果您正在为最终用户寻找良好的解决方案,请使用 Analysis Services 构建 OLAP 多维数据集并让他们通过 Excel 进行访问。 无需为他们提供基于网络的报告生成器。 如果您为最终用户提供基于网络的报告生成器,那么您只是要求宇宙/框架/模型蔓延。
Cognos, SAP Business Objects, Oracle BI Suite, MicroStrategy, and Reporting Services are all basically comparable in performance on rendering to Excel and PDF from their respective report builders. All of them can potentially run into memory errors if you try to output too large of a report. Number of pages is not a good indicator of report size. You can have a 1 page report that outputs 1 million rows in HTML or a 20 page report that only outputs 40 rows per page. The 1 page report would probably fail to render because of memory constraints and the 20 page report would probably have no problems rendering.
Cognos and Business Objects will generally cost you hundreds of thousands of dollars in initial licensing fees and annual maintenance support contract fees. Reporting Services obviously does not have this issue if you are already using SQL Server 2000 / 2005 / 2008. If you are running only Oracle, MySQL, or other non-Microsoft database back-ends, then purchasing a SQL Server just for reports will probably be cheaper from a licensing perspective. However, it may be more expensive from an operations overhead perspective if your company has no expertise with SQL Server. I do NOT recommend using Reporting Services as the front-end for a non-Microsoft database. Been there, done that, not worth it. Reporting Services may WORK with non-Microsoft databases, but Cognos and Business Objects do a better job abstracting away the database if you are a non-Microsoft database shop.
You may want to determine if you are going to support allowing non-IT end-users to build reports. If you are looking for a good solution for end-users, then build OLAP cubes with Analysis Services and give them access through Excel. Eliminate the need for giving them a web-based report builder. You are just asking for universe / framework / model sprawl if you give end-users a web-based report builder.
我会考虑使用 Data Dynamics Active Reporting 单击此处。 您可以像 Crystal Reports 一样使用它们,并且可以将它们设置为导出为 PDF、Excel、Word 等。
I would look at using Data Dynamics Active Reporting click here. You can use them similar to Crystal Reports and they can be setup to export to PDF, Excel, Word, etc.
您将 Reporting Services 作为标签——您看过 SQL Server Reporting Services 吗? 它可以处理 PDF 和 PDF 文件。 Excel 报告。 我无法评价它一次处理 6000 份 20 页报告的速度(6000 份不同的报告??)。
You have Reporting Services as a tag -- have you looked at SQL Server Reporting Services? It does PDF & Excel reporting. I can't speak for its speed on 6000 20-page reports at a time (6000 different reports??).
如果您确实需要良好的性能,您可能需要构建自己的报告服务,而不是使用预构建的报告服务。 这当然会限制灵活性,但如果您的报告事先已知,那么使用第三方 Excel 库向 Excel 报告将非常容易。
报告为 pdf 会更困难,但使用 xsl-fo 并以这种方式构建 pdf 文档可能是一个很好的解决方案,具体取决于您的需要。
If you really need good performance you may want to build your own reporting service instead of using a prebuilt one. This would of course limit the flexibility, but if your reports are known beforehand it will be quite easy to report to excel using a third-party excel library.
Reporting to pdf will be tougher, but using xsl-fo and building pdf documents that way may be a good solution depending on what you need.