DB Reporting in ASP.NET

Inka

Perch
Hello,

My customers are still interested in having reporting capabilities in ASP.NET. The last time I checked you had neither Crystal Reports nor SQL Reporting Services installed.

Did you come up with an alternative to those two that can be used by developers?

Thanks
 
Stephen said:
SQL2005 has reporting, we have no plans for crystal reports, ever.

So, do you have SQL Server 2005 installed? in what servers? do all your SQL2005 servers have SQL 2005 Reporting services installed?
 
Stephen said:
...the billing is handled as an addon service at $5 per 50MB ...

... per what? month? year?

Aren't any reporting alternatives to this? I think this is important
 
As I understand it, MS SQL 2005 Reportin Services still requires that an ASPX page includes the Microsoft ReportViewer control. I have been unable to make this control work in my ASPX web pages. I keep getting server error messages. I tried copying DLL files into my bin folder, but then I just keep getting permission errors (I think because the trust level is Medium for Jodohost shared hosting).

My question is... if I upgrade to SQL 2005 in order to use the reporting services, will I have a problem displaying those reports in my ASPX pages? how exactly is this done?
 
To follow up with my previous post... the following website shows how to create a report in 2005 reportin gservices, then display that report in an ASPX page.

Creating Reports with SQL Reporting Service and Visual Studio .NET - The Code Project - ASP.NET

I wanted to test using the ReportControl control in my ASPX page, so I created a new blank ASPX page, then dropped in the ReportControl. No data linking or anything yet. I just want to make sure the control will work on my website. I upload the APSX page and 3 DLLs into my bin folder along with an updated web.config file, and I get server errors. How can I expect to display reports designed in 2005 reporting services when this ReportControl will not work with Jodohost?
 
I'm either missing something or something isn't quite right here. Stephen, I wonder if you're misunderstanding something about reporting with SQL Server 2005.

SQL Server 2005 includes SSRS (SQL Server Reporting Services). I use it in my day job with our own server. There is more to it than supplying a connection to SQL Server 2005. Are you really making SSRS available to customers? It usually involves running IIS on the same machine as SQL Server 2005 / SSRS. Reports are usually written with Visual Studio and published on the report server and you maintain security settings, data connections etc from a web page with a URL something like http://myreportserver/reports. I find it hard to see how that would work very well on shared hosting. Although SSRS runs on SQL Server 2005, the actual data source for the reports can be any .NET, OleDb or ODBC source.

As sidmcfarland points out, the front end of this is the ReportViewer control for ASP.NET (and there's a WinForms one too). This pulls the report from the report server via a web service and formats it to display on the page. That way, you don't need to directly expose the report server to the outside world.

The ReportViewer control can also operate in local mode. This is where it reads the data source directly and generates the report itself without needing the report server at all. I think this is a much more appropriate way to go for someone who wants to display a report on their ASP.NET web site on shared hosting. It makes the SQL 2005 thing kind of irrelevant.

However, there is one major show stopper. The ReportViewer control needs full trust to run :( That's why you can't get it working Sid. I think if its installed in the GAC (which is its intended default place) then the users' apps can run medium trust. There is a redistributable exe from Microsoft that you run once on the server to install the ReportViewer. Is this something that could be considered Stephen? I really don't know what the security implications are.

The ReportViewer control is pretty cool. It would be great to have it available. I know its available on some other hosts. Not only can it report from databases, it can also report from custom business objects and export Excel and PDF files. Until recently, it was a total disaster with FireFox but the recent VS 2005 SP1 mostly fixed that. Unfortunately, the redistributable that you can download from microsoft.com isn't the new version yet. You have to pull three DLLs from a machine with Visual Studio SP1 and install them on the server in the GAC. No doubt the redistributable will be updated soon.

Cheers
Ross
 
Yes, tetranz is exactly right. The ReportViewer control won't run because of the trust level. I too included the 3 DLLs in my bin folder, but no dice... I started getting permission errors (because of the trust level, I assume). I don't understand why Jodohost would make SQL Server 2005 available (assuming it also has SSRS) and not allow the ReportViewer control. It's like saying... hey, here's a SQL Server you can use that supports Reporting Services but you can't actually display the reports in your web pages. Again, I'm assuming SSRS is available with the SQL Server 2005 implementation that Jodohost has available. i could be wrong about that.

In the end, I don't care what the database, reporting tool, or server settings/permissions/trust levels are... I just need a way to deploy reports via ASPX. Can't use Microsoft Reporting... can't use Crystal. Is ANYTHING available for Jodohost users? As tetranz mentioned, a lot of other hosting providers are offering this now, so I assume the security issues can be managed... although I think i read somewhere in this forum that it's really a matter of server resources and performance.
 
VS2005 SP1 fixed the report output with Firefox? Cool, hadn't noticed yet :)
I use it at work a fair bit as well, and the average report I produced would bring Firefox to it's knees for some reason. I guess it didn't like the junk Microsoft put in the TABLE tag much..

As far as I know, SQL Reporting Services are installed separately from SQL Server 2005. It requires a database connection as well as RPC to run it on a different machine than the actual database server. At least it needs RPC for the installation process, not sure what it does with it afterwards.
 
VS2005 SP1 fixed the report output with Firefox? Cool, hadn't noticed yet :)

Yes although its only fixed for local rdlc mode. Server based reports will need to wait for the next SP for SQL Server 2005 because that's where the html is generated.

As far as I know, SQL Reporting Services are installed separately from SQL Server 2005. It requires a database connection as well as RPC to run it on a different machine than the actual database server. At least it needs RPC for the installation process, not sure what it does with it afterwards.

There seems to be various options for installing. I have SQL Server 2005 and SSRS installed on a single server and I talk to it with IIS also on the same machine. It creates and uses two databases on that server for storing report definitions and for temporary storage.

The full trust thing is a real pain. I don't know why a report viewer should need full trust. I read somewhere that it only needs medium trust when reporting from a report server but despite what Stephen seemed to be hinting at when he said "SQL Server 2005 has reporting", I don't think that is useful on Jodo. Sorry if I've misunderstood you Stephen.

To be honest, I don't have an immediate use for this but I had a play with it a few weeks ago and I know I could use it in future. Perhaps it is something that could be safely installed in the GAC for all to use. I haven't tried it so I'm not absolutely sure if that would solve the problem for medium trust sites but I think it would.

Of course if you just want a report then it depends what you mean by "report". The ASP.NET grid does a reasonable job of displaying tabular data.

Cheers
Ross
 
Personally I'm using it for some graphing as well, but at least in local mode the graphing is somewhat buggy :(
Not to mention the multi-megabyte PDFs it produces. It seems to store the graphs as 24 bit uncompressed images or something..
 
The reporting I need to do has the following requirements...

1) Need to be able to display charts and text in the same report
2) Need to display the report in an ASPX page
3) Need ability to save/export the report data in PDF/Word/etc/ format.
4) Need report to span multiple pages, with defined page breaks.
5) Need page headers and footers, and possibly subreports.

Obviously, using Crystal would be the perfect solution. But it appears that neither Crystal nor Microsoft report controls are allowed by Jodohost. So, we're back to square one. How do I deploy a report created in a report designer onto a Jodohost hosted ASPX web page?
 
No reply on this for a while. So are Crystal/Microsoft report controls not possible in ASPX pages (using VS.NET 2005 Pro)? Alternatives?
 
Unless I'm missing something, you are pretty much out of luck doing reporting on Jodo and most other shared hosting. About the best you can do is to use the ASP.NET DataGridView to display tabular data,.

Its a subject that interests me so I had a quick look around at the few popular reporting products for ASP.NET. They all seem to need full trust. I think its because they use reflection. Most of them have support forums where you can find people asking about this issue and replies from the vendors with promises to make their product work on medium trust some time in the future. For any of these solutions, you'd have to buy it, usually for several hundred dollars. Telerik have a reporting product in beta now with a promise to "do everything they can" to make the released version work in medium trust. Judging by the quality of other Telerik controls, I'd go for that if I had to buy something.

One option on Jodo if you can afford it is to move to a Windows VPS and install the free Microsoft ReportViewer and use it in local mode. If I need this badly enough in future then I'll probably go that way.

I won't mention names but I know of at least one shared ASP.NET shared host that allows full trust. They claim to do this securely by having a unique identity for each site, whatever that means. Do some careful Google searching if you want to find them.

Good luck
Ross
 
I'm gonna get flamed for this, but in the time I spent reading this thread and the CodeProject article, I could have written a simple report (as in the article) in ASP. Compatible with Firefox too. :)

Don't get me wrong, I use .NET regularly and love it. The controls are nice, but half the time I find it much easier and quicker just to code what I want instead of spending hours trying to get Microsoft's implementations to work the way I want them to. Just my 2c.. don't rely too much on controls.
 
Unless I'm missing something, you are pretty much out of luck doing reporting on Jodo and most other shared hosting. About the best you can do is to use the ASP.NET DataGridView to display tabular data,.

This is exactly my point above. I've created reports galore, including PDF reports, in .NET and classic ASP. I just go ahead and code em. No controls required. All work on shared hosting as I'm not relying on trust levels, or targetting a particular version of SQL Server. If you're a coder, just code it.

I love .NET, but Microsoft has business goals and products to promote (read: chain you to). I don't even fuss about whether to use .NET 1.1 or 2.0. Who cares, for years we have done wonders with php and classic asp. Why is it suddenly so necessary to write reports using SQL2005 and the reporting control?

My rule of thumb is play with the new stuff if you really have to, and be prepared to have these problems. Otherwise go tried and true and wait till the bugs are ironed out before adopting new tech as a preferred development platform. Otherwise you're bound to hit these snags and waste valuable time.

Again just my rebellious 2c. :)
 
BTW, we run medium trust in user isolation as well, we could run full trust, but to be honest there are WAY too many ways to poke holes through the barriers in place. It is why I decided to not offer high or full trust.

We would not have to run medium trust if everyone could be trusted to:
1. not expliot
2. not hack
3. not otherwise deface
4. SPAM!
5. write bad code that loops and takes all the resources(this can happen even in medium trust, but more limited)
6. write intentionally bad code that messes with other users.

Bascially, if I knew everyone wrote tight code and was trustworthy I could run full trust, but that simply can't happen in this world, nor can anyone else.
 
Back
Top