Showing posts with label requirement. Show all posts
Showing posts with label requirement. Show all posts

Monday, March 26, 2012

Reporting Services 2005 and Business Logic

I'm working on a app with complex reporting requirement and would like to centralize the business logic for app and reporting. We are not planning to use SP for reporting. Having said that, i would ideally like the reports call the business layer (business.dll) assembly which in turn will call the data access layer (data.dll) assembly to run the required queries and get the results via business assembly as a custom business entity or data set. I'm not sure if this possible with Reporting Services 2005. I have looked at the custom data processing extensions but i dont think it will provide me the required business-data separation unless i'm missing something.

I was wondering if anyone has done this before and if yes, could you please provide me some direction or insight or sample. It will be of great help. I also saw the custom references tab where you can reference an .NET assembly and invoke a method within .NET assembly but i'm not sure if that method could return a custom entity that could be consumed by the reports. Please recommend the right approach to achieve this.

Thanks in advance

There are at least four approaches you could consider:

1. Your app can call down to the business logic layer to retrieve the entity or an ADO.NET dataset and bind it to a local report. This scenario assumes that you don't need to deploy the report to the report catalog (the report is available to the application only). For more information about local vs. remote processing, read this article.

2. If you need to share the report with other users (deploy to the report catalog), write a CDE that will take the serialized entity (e.g. as an ADO.NET dataset) and expose it to the report, as demonstrated here.

3. Assuming SQL Server 2005, implement a CLR stored procedure(s) to call down to the business layer and surface the results to the report, as shown here.

4. Write a web service to return the results in XML and use the RS 2005 XML data provider (see this post).

The first approach is probably the easiest to implement.

|||

Hello Teo,

Thanks for your response. Since this is a web app and would like to deploy to the report catalog i'm thinking of option# 2. I have read the customer data extensions and i see it more as a data layer assembly. We will have to retrieve the custom entity from the middle tier, update it (only if required) and then display using CDE. Now based on that i have these follow up questions

1. Our entity is not going to be a ADO.NET data set at the business layer level, its going to be a custom .NET class so will be possible for the CDE to retrieve this custom entity and then display it. I can serialize the custom .NET class into a XML and then have the reports consume the XML but i'm concerned about the app performance serializing/deserializing.

2. I do not require any open/close connection in the CDE since this will be handled by the app data layer. Is this OK?

3. What is your opinion about accessing .NET code via assembly references and embedded code within the report properties? Is this a good option to think about.

Thanks

|||

1. Performance should be an area of concern. Assuming 100 Mbts LAN, it will take a fraction of time to send the serialized payload across the wire. I didn't see any performance issues with my CDE which serializes ADO.NET datasets.

2. The CDE that I pointed you to doesn't establish a connection either. This is entirely optional.

3. You cannot use this approach to bind a dataset to a report region if this is what you are after. That's because the DataSet property is not expression-based. Other than that, I do use external .NET code extensively to call common functions, e.g. to handle number formatting. In general, I'd recommend you put any .NET function that you need in your reports in an external assembly so you can reuse it across reports.

Reporting Services 2000 Requirement for Visual Studio

I have a client who already has SQL-2000 SP4 installed and now wishes
to have reporting services installed.
The installation indicates a pre-requisite of Visual Sudio .Net 2003.
Further investigation on Microsoft web site reveals that VS would have
to be version "Enterprise Developer" or "Enterprise Architect."
I know in SQL 2005 that VS is included. One option presented to the
client would be to upgrade.
My question is, was any form of visual studio included with SQL 2000
or will the client need to purchase a license for Visual Studio .Net
2003? Is VS .Net 2003 even still available?
Thanks in advance.
DanThat is some information which is not quite true...
> The installation indicates a pre-requisite of Visual Sudio .Net 2003.
> Further investigation on Microsoft web site reveals that VS would have
> to be version "Enterprise Developer" or "Enterprise Architect."
No, you will just need a one-language version of Visual Studio, thats
all, without nailing me down on the price, that should be around 100$.
> I know in SQL 2005 that VS is included. One option presented to the
> client would be to upgrade.
Sort of. You will be able to create Report / Analysis and SSIS
projects with the "small" edition of this studio.
> My question is, was any form of visual studio included with SQL 2000
> or will the client need to purchase a license for Visual Studio .Net
> 2003?
No, there was non included. Yes, he would have to buy a licencse for
that, see the above mentioned answer.
> Is VS .Net 2003 even still available?
-Yes, it is. I assume that not all vendors of your choice will still
have it, but it is available in some places. Perhaps you might find a
version on ebay which was exchanged by someone with the 2k5 version.
HTH, Jens K. Suessmeyer
--
http://www.sqlserver2005.de
--|||First off, you need any product that has VS 2003, it definitely does NOT
need to be Enterprise Developer or Enterprise Architect. Very definitely
not. The cheapest way is to get VB.Net 2003, it used to cost about $100.
However, I don't know how you go about finding a copy to buy.
Now, if Enterprise Developer is the only one that you can find to purchase
it will work but any product that comes with VS 2003 will work.
--
Bruce Loehle-Conger
MVP SQL Server Reporting Services
<dan.dunkin@.at-net.net> wrote in message
news:dn34t25397nlkhi59fb3sgjn21qh8kdfan@.4ax.com...
>I have a client who already has SQL-2000 SP4 installed and now wishes
> to have reporting services installed.
> The installation indicates a pre-requisite of Visual Sudio .Net 2003.
> Further investigation on Microsoft web site reveals that VS would have
> to be version "Enterprise Developer" or "Enterprise Architect."
> I know in SQL 2005 that VS is included. One option presented to the
> client would be to upgrade.
> My question is, was any form of visual studio included with SQL 2000
> or will the client need to purchase a license for Visual Studio .Net
> 2003? Is VS .Net 2003 even still available?
> Thanks in advance.
> Dan|||The MS web site says enterprise developer or architect are the only
ones that talk to SQL Server as opposed to destop databases (Access,
SQL Desktop). Do they mean something else (like you only need
enterprise for applications that directly access the database not
reports that will be run through report writer)?
On a side note, will Visual Studio 2005 Express (the free one) work?
Will any version of Visual Studio 2005 work?
Thanks!
On Tue, 13 Feb 2007 13:40:52 -0600, "Bruce L-C [MVP]"
<bruce_lcNOSPAM@.hotmail.com> wrote:
>First off, you need any product that has VS 2003, it definitely does NOT
>need to be Enterprise Developer or Enterprise Architect. Very definitely
>not. The cheapest way is to get VB.Net 2003, it used to cost about $100.
>However, I don't know how you go about finding a copy to buy.
>Now, if Enterprise Developer is the only one that you can find to purchase
>it will work but any product that comes with VS 2003 will work.|||Don=B4t know, but the information given by Bruce and me is valid. You
might want to share the link with us where this statement resides.
-Jens.
--
http://www.sqlserver2005.de
--|||In this case it is a little different. You are only using VS to have
something to install the report designer into. So in this case what you are
reading about is something else entirely.
RS 2000 requires some version of VS 2003. Neither of the two you mention
will work. They use a different version of the framework (2.0 instead of 1.1
that RS 2000 uses).
Bruce Loehle-Conger
MVP SQL Server Reporting Services
<dan.dunkin@.at-net.net> wrote in message
news:gu64t21phn1tcq8mga7kprscoii7u9jfm2@.4ax.com...
> The MS web site says enterprise developer or architect are the only
> ones that talk to SQL Server as opposed to destop databases (Access,
> SQL Desktop). Do they mean something else (like you only need
> enterprise for applications that directly access the database not
> reports that will be run through report writer)?
> On a side note, will Visual Studio 2005 Express (the free one) work?
> Will any version of Visual Studio 2005 work?
> Thanks!
> On Tue, 13 Feb 2007 13:40:52 -0600, "Bruce L-C [MVP]"
> <bruce_lcNOSPAM@.hotmail.com> wrote:
>>First off, you need any product that has VS 2003, it definitely does NOT
>>need to be Enterprise Developer or Enterprise Architect. Very definitely
>>not. The cheapest way is to get VB.Net 2003, it used to cost about $100.
>>However, I don't know how you go about finding a copy to buy.
>>Now, if Enterprise Developer is the only one that you can find to purchase
>>it will work but any product that comes with VS 2003 will work.|||THANK YOU! for everyone's help.
Dan

Wednesday, March 21, 2012

Reporting Services - Crystal to SSRS

I have a requirement to convert reports from Crystal Reports to SQL
Server Reports. Is there any tool to do this? or Do I need to redesign
every report in SQL Server Reports?

Madhivanan"Madhivanan" <madhivanan2001@.gmail.com> wrote in message
news:1125930151.754268.195010@.g43g2000cwa.googlegr oups.com...
> I have a requirement to convert reports from Crystal Reports to SQL
> Server Reports. Is there any tool to do this? or Do I need to redesign
> every report in SQL Server Reports?
> Madhivanan

I have no idea myself, but it looks as if the question has come up on
microsoft.public.sqlserver.reportingsvcs several times:

http://groups.google.ch/group/micro...arch+this+group

Simon|||Thanks Simon

Madhivanan

Saturday, February 25, 2012

Reporting on two remote location databases

We have couple of SQL databases on different SQL Servers that are at
different remote locations in two different network domains. The
requirement is to generate reports by pulling in information from both
these databases.
What is the best way to go about it?
We have been asked to consider the linked server option, but we are
wondering what kind of impact will it have on performance? Is this a
efficient way to go about it? As far as the report ideally we would
like the reports on live data however if by linking the servers over
the internet causes performance issue we would like to research other
avenues.
Any ideas, suggestions or links in this subject will be greatly
appreciated.
ThanksAs a lot of reports tend to present high-level (aggregated) overviews of
data, linked servers sounds like a definite non-starter.
Are you able to replicate the 'required subset' of tables from one or other
(or both if neither is local) to the site at which the reports will be
generated?
Integration services, and replication are probably your best bets, unless
the reports are extremely simple.
"shub" <shubtech@.gmail.com> wrote in message
news:1182974876.155463.320990@.q75g2000hsh.googlegroups.com...
> We have couple of SQL databases on different SQL Servers that are at
> different remote locations in two different network domains. The
> requirement is to generate reports by pulling in information from both
> these databases.
> What is the best way to go about it?
> We have been asked to consider the linked server option, but we are
> wondering what kind of impact will it have on performance? Is this a
> efficient way to go about it? As far as the report ideally we would
> like the reports on live data however if by linking the servers over
> the internet causes performance issue we would like to research other
> avenues.
> Any ideas, suggestions or links in this subject will be greatly
> appreciated.
> Thanks
>|||On Jun 27, 3:15 pm, "Will Alber" <j...@.crazy-pug.co.uk> wrote:
> As a lot of reports tend to present high-level (aggregated) overviews of
> data, linked servers sounds like a definite non-starter.
> Are you able to replicate the 'required subset' of tables from one or other
> (or both if neither is local) to the site at which the reports will be
> generated?
> Integration services, and replication are probably your best bets, unless
> the reports are extremely simple.
> "shub" <shubt...@.gmail.com> wrote in message
> news:1182974876.155463.320990@.q75g2000hsh.googlegroups.com...
>
> > We have couple of SQL databases on different SQL Servers that are at
> > different remote locations in two different network domains. The
> > requirement is to generate reports by pulling in information from both
> > these databases.
> > What is the best way to go about it?
> > We have been asked to consider the linked server option, but we are
> > wondering what kind of impact will it have on performance? Is this a
> > efficient way to go about it? As far as the report ideally we would
> > like the reports on live data however if by linking the servers over
> > the internet causes performance issue we would like to research other
> > avenues.
> > Any ideas, suggestions or links in this subject will be greatly
> > appreciated.
> > Thanks- Hide quoted text -
> - Show quoted text -
Thank you very much Will for reponding and you input.
I am assuming the reports are very simple, I mean it will probably
involve few simple joins. What kind of setup will be required to
connect to a SQL Server over the web or do we need a VPN connection to
make it secure and run faster?
Thanks|||1) Check out linked server. I would recommend you encapsulate the remote
reports into sprocs if possible. Also, look to reduce the cross-server
joins and the amount of data returned.
2) Consider some form of encryption (VPN perhaps?) to ensure data security
if this is not an already secure network setup.
--
TheSQLGuru
President
Indicium Resources, Inc.
"shub" <shubtech@.gmail.com> wrote in message
news:1182974876.155463.320990@.q75g2000hsh.googlegroups.com...
> We have couple of SQL databases on different SQL Servers that are at
> different remote locations in two different network domains. The
> requirement is to generate reports by pulling in information from both
> these databases.
> What is the best way to go about it?
> We have been asked to consider the linked server option, but we are
> wondering what kind of impact will it have on performance? Is this a
> efficient way to go about it? As far as the report ideally we would
> like the reports on live data however if by linking the servers over
> the internet causes performance issue we would like to research other
> avenues.
> Any ideas, suggestions or links in this subject will be greatly
> appreciated.
> Thanks
>