views:

1000

answers:

4

I'm after a tool to generate decent-looking documents from templates, that needs to:

  • be invoked through code (not interactively)
  • run on Windows, ideally invoked from code within a web-server
  • process standalone* report files that contain their own internal data definitions, query options, etc (i.e. ideally so that we can push simple report files to the server, and it simply work - where report/document maintenance is not necessarily a developer activity)
  • access data from a database (SQL Server 2005) based on parameters (ids etc) that we pass in
  • export (again, through code) to pdf or similar

*= where standalone simply means that the report is fully self-describing; it is fully expected that additional reporting runtime components will be required to execute the report. Contrast to rdlc which uses the data-sets from the local VS project.

I looked at the rdl/rdlc options (Visual Studio 2008), but rdlc seems to be coupled to the assembly (not standalone), and rdl seems to lack the code-based export ability. The version of Crystal Reports included in VS2008 seems very similar to rdlc - presumably the full Crystal Reports offering has more functionality, but has a non-trivial price tag too...

I'd welcome any suggestions for an appropriate, professional looking tool that might be suitable and recommended...

+1  A: 

I dont think you can satisfy all requirements. Number 3 especially is the killer.

On one reading, I see it as adhoc reporting generating it's on SQL. On another, it is giving users "empowerment" to do roll their own within some limits you define?

You may have looked already... but have you thought about using the ReportBuilder functionality to set up the basics and leave users to do the rest? You'll need a report monkey at some point anyway to set soemthing up.

Edit, after comment:

Reporting Services it is then.

It comprises a web service that renders RDL files uploaded from VS. Report Builder is a template for users to hack and bash their own within the limits and environment you set.

Architecture of RS 2008

gbn
Note I clarified my meaning of the 3rd "killer" point.
Marc Gravell
+4  A: 

I think SQL Reporting Services fully support all of your requirements. I have build some sophisticated solutions myself with SSRS. (Example)

  • Fully manageable through code (via SSRS WS) (Upload, execute and export Reports)
  • Used SQL Server as database
  • Queries are defined in RDL (or Stored Proc) and based on parameters

There are other solutions like Telerik Reporting or Data Dynamics ActiveReport, but they are not free. Let me know if you need more informations

SSRS WS: With that I mean the Web Service Interface (Report Server Web Service ). There is also a URL Access method, but I don't think it's a solution for you

EricSch
Thankyou - that "SSRS WS" is, I expect, everything I was looking for. If you don't mind, I'll just do a bit more digging into it (before I mark as answered), but I expect this will be the answer.
Marc Gravell
Added some more infos about the Web Service Interface
EricSch
+1  A: 

Our Data Dynamics Reports product sound like it is for you. It is a fully programmable reporting component for .NET / Visual Studio. View the documentation on the API here. You can export the reports to any of our various formats, including PDF, HTML, and Excel and it also includes an end user designer control that you can embed into your own applications to let end users modify or create their own reports.

The reports are stored in RDL - the same XML dialect that Reporting Services uses - in fact you can take any existing RDL files and open them in Data Dynamics Reports. In addition to compatibility with RDL, we add many more features, such as "themes" to consistently style your report, master reports (think ASP.NET master pages for reports), and several other built in controls such as a calendar, barcode, and dashboard controls to name a few.

Now lets look at your requirements one-by-one and see how Data Dynamics Reports might solve them:

  • be invoked through code (not interactively) - Data Dynamics Reports includes comprehensive API.
  • run on Windows, ideally invoked from code within a web-server - You can use Data Dynamics Reports in client-based, or ASP.NET applications, it even support medium trust ASP.NET applications (webservices are fine).
  • process standalone* report files that contain their own internal data definitions, query options, etc (i.e. ideally so that we can push simple report files to the server, and it simply work - where report/document maintenance is not necessarily a developer activity) - Data Dynamics Reports uses standard RDL (not rdlc) which includes all information bout how to retrieve data from your datasource. We also include an end user designer control to allow you to emebed a design environment for these standalone files into your own applications.
  • access data from a database (SQL Server 2005) based on parameters (ids etc) that we pass in - Data Dynamics Reports includes comprehensive support for parameters (even get the "valid values" from a query.
  • export (again, through code) to pdf or similar - Data Dynamics Reports supports exporting to PDF, HTML, Excel, Word, images, and XML.

I hope it works out for you, and let me know if you have any additional questions.

Scott Willeke
Data Dynamics / GrapeCity inc.
scott
Thanks for the info; I'll investigate tomorrow.
Marc Gravell
+1  A: 

I think, based on all the criteria, you likely need to look at Crystal Reports, since you want the reports to be standalone, although, you could also create a report designer out of XtraReports or ActiveReports Pro and have much of the same functionality.

As for running it on the fly and having it generate, distribute, and archive the reports that run, check out our product at www.versareports.com. It should work with any .NET report designer you want to use and provides the enterprise-class report server framework you likely need.

Andy