Monday, February 20, 2012

Migrating to Report Services

Or rather, migrating to local reports using the Microsoft Report
Services.
We are in the process of planning the next generation of our software,
and among other things we are contemplating which reporting platform
we will use.
Until now we have been using Crystal Report, but it seems to be
getting more and more heavy to work with, plus it is a rather hefty
investment, well it can be.
First a little history:
- Our software will be running on anything from a stand-alone PC with
no connection to the surrounding world, to large-scale "enterprise"
networks with several dozens of clients. As a result our reporting
platform must be able to handle this.
Originally Crystal Report handled this very nicely, in that regard
that we simply installed the runtime libraries on each PC with our
software and a bunch of report files locally. This is model our
customers are used to.
Now I have decided to check out Reporting Services, but I have a bit
of a difficult time wrapping my mind around the concept. Some things
seem very nice and elegant, but others seem somewhat less so. For one
thing, the reports seem a little too simple and no where nearly as
powerful as Crystal Reports.
Now, our database is usually called the same regardless of the
customer, and of course, the layout of the database is always the same
(some customers may have a few custom tables, etc). But internally we
may have any number of databases that is named differently (customer
backups, test databases etc). So I need a way of being able to set the
database "on-the-fly".
What (I think) I need:
- A way of designing local reports and setting the data source at
runtime.
- I do not want to use the web server exclusively.
- Initially I want local reports, but the central reporting server can
be an option.
- I want to be able to mix tabular/matrix and chart reports.
- I want to be able to show group headers and footers, as well as page
headers and footers.
- I want to have full access to all tables in the database, and not
being restricted once I select on table, or entity.
Basically, I want to use the Reporting Service, but I don't want to
loose the freedom in data selection that Crystal Report gives me.According to your description, you need to use both SQL Server Reporting
Services and local report tool, which is bundled with VS2005/8 (VS2003 is
bundled with CrystalReport.NET as local report tool, while VS2005/8 come
with both CrystalReport.NET and MS report tool).
More comments inline.
"ThomasD" <tho.due@.gmail.com> wrote in message
news:4de6bed8-f6bc-4188-afd5-93ac01d49398@.8g2000hse.googlegroups.com...
> Or rather, migrating to local reports using the Microsoft Report
> Services.
> We are in the process of planning the next generation of our software,
> and among other things we are contemplating which reporting platform
> we will use.
> Until now we have been using Crystal Report, but it seems to be
> getting more and more heavy to work with, plus it is a rather hefty
> investment, well it can be.
> First a little history:
> - Our software will be running on anything from a stand-alone PC with
> no connection to the surrounding world, to large-scale "enterprise"
> networks with several dozens of clients. As a result our reporting
> platform must be able to handle this.
> Originally Crystal Report handled this very nicely, in that regard
> that we simply installed the runtime libraries on each PC with our
> software and a bunch of report files locally. This is model our
> customers are used to.
> Now I have decided to check out Reporting Services, but I have a bit
> of a difficult time wrapping my mind around the concept. Some things
> seem very nice and elegant, but others seem somewhat less so. For one
> thing, the reports seem a little too simple and no where nearly as
> powerful as Crystal Reports.
> Now, our database is usually called the same regardless of the
> customer, and of course, the layout of the database is always the same
> (some customers may have a few custom tables, etc). But internally we
> may have any number of databases that is named differently (customer
> backups, test databases etc). So I need a way of being able to set the
> database "on-the-fly".
> What (I think) I need:
> - A way of designing local reports and setting the data source at
> runtime.
If you have VS2005/8, you can do local report with either CrystalReport.NET
or MS report tool. By "Local". If you use SQL Server RS, I'd use MS report
tool in VS for local report, because the report viewer control can render
both local report and report from SQL Server RS. So, you app can seemlessly
dispaly report either from local report or from SQL Server RS without user
knowing the difference.
> - I do not want to use the web server exclusively.
> - Initially I want local reports, but the central reporting server can
> be an option.
> - I want to be able to mix tabular/matrix and chart reports.
> - I want to be able to show group headers and footers, as well as page
> headers and footers.
MS local report is a bit not as fancy as RS report can be.
> - I want to have full access to all tables in the database, and not
> being restricted once I select on table, or entity.
That has little to do with reporting, local or server.
> Basically, I want to use the Reporting Service, but I don't want to
> loose the freedom in data selection that Crystal Report gives me.
Do not know what "Data selection freedom" means here.
With local report, you can connect to whatever data source. If needed, you
can use code do trasform anything into a DataSet/Table of your desired
schema and use it as the report source, I'd think it is complete freedom.
With SQL Server RS, if the report data is difficult to access by reqular
queries, or the data source is not conventinal database, you can write your
own Data Processing Extensions sitting between the reporting processor and
data source. Of course, this requires lots of coding.|||> According to your description, you need to use both SQL Server Reporting
> Services and local report tool, which is bundled with VS2005/8 (VS2003 is
> bundled with CrystalReport.NET as local report tool, while VS2005/8 come
> with both CrystalReport.NET and MS report tool).
We use VS2008. I would like keep the option of using the report server
open, but my primary concern is local reports.
> More comments inline.
Cool. :)
> > - A way of designing local reports and setting the data source at
> > runtime.
> If you have VS2005/8, you can do local report with either CrystalReport.NET
> or MS report tool. By "Local". If you use SQL Server RS, I'd use MS report
> tool in VS for local report, because the report viewer control can render
> both local report and report from SQL Server RS. So, you app can seemlessly
> dispaly report either from local report or from SQL Server RS without user
> knowing the difference.
I finally managed to actually get the report designer working (it is
not easy to handle, when you are used to using Crystal Reports). It
looks very promising, however as it turns out, I have to supply the
data source "manually" when using the report locally. That is fine,
not a problem. However, I would like to use the SQL embedded in the
report, but that seems to be somewhat difficult to get at. So far I
have managed to get it by using XPath, but I can't help thinking that
there must be an easier way.
> MS local report is a bit not as fancy as RS report can be.
True, but I AM making progress in understanding the limitations and
differences.
> > - I want to have full access to all tables in the database, and not
> > being restricted once I select on table, or entity.
> That has little to do with reporting, local or server.
Well, after I "discovered" the report designer in Sql Server Business
Intelligence Development Studio (what a mouthful), I see that. Now I
just need to get a handle on the embedded SQL.
> > Basically, I want to use the Reporting Service, but I don't want to
> > loose the freedom in data selection that Crystal Report gives me.
> Do not know what "Data selection freedom" means here.
SQL. I don't want to be relying on some obscure model. Direct SQL
input is my preferred method of pulling data. Crystal Reports can do
both, and after discover the report designer in BI studio it looks
very promising.
> With local report, you can connect to whatever data source. If needed, you
> can use code do trasform anything into a DataSet/Table of your desired
> schema and use it as the report source, I'd think it is complete freedom.
> With SQL Server RS, if the report data is difficult to access by reqular
> queries, or the data source is not conventinal database, you can write your
> own Data Processing Extensions sitting between the reporting processor and
> data source. Of course, this requires lots of coding.
Coding doesn't scare me, I wouldn't be a software developer otherwise
*grin*
Regards,
Thomas

No comments:

Post a Comment