I am working on an ASP.NET (3/5) web application. In the application, we assemble lists of classes from a variety of data sources. I would like to create a report in SQL Server SSRS that renders a report from the contents of one of those lists, without pushing the list to the database (in fact, it would be a violation of a bunch of rules if we did that). Right now we are using SQL Server 2005 but we are considering a move to 2008. Is what I want to do possible and, if so, how do I do it?
views:
424answers:
2Reporting services offer something called as DataSet extensions. You may use that to render the report from your custom data source. You do not need to load them back into database. However, certain editions of SQL like SQL Express reporting services does not support dataset extension.
You might want to use the ReportViewer control which ship with Visual Studio 2005 and Visual Studio 2008.
It can run in a "local mode", which doesn't require a Report Server backend. You simply drop it from the VS toolbox onto an ASPX form, then wire it up in code with any IEnumerable collection as its datasource, and then provide it with a report definition file for local mode (RDLC).
The RDLC file is basically the same as the original RDL (report definition language), but it omits a few things like the datasource, which is provided by your application. The ReportViewer control contains a smaller version of the report processing engine, so that at runtime, it "couples" the RDLC you provide with a data set or bindable collection, and it does the rest.
For more details on this control, check out the following site: www.gotreportviewer.com
HTH