SQL Server Reporting Services VS rdlc and the ReportViewer - vb.net

We are planning on creating reports to be run on the same computer that the database application is running on.
Can you tell me which of these is the best approach? (SQL Server Reporting Services or creating a rdlc ReportViewer report)
Also I tried to locate detailed rdlc ReportViewer report tutorials both in books and online and found none. It's probably because I'm looking in the wrong places.
We are also using VB.Net as the language.
All help will be appreciated.

In a nutshell, .rdlc is the client version. You cannot host these on the report server. These reports do not know how to fetch the data, you MUST get the data yourself and pass it to the report. For this reason, you cannot even preview the report while designing. ReportViewer.ProccessingMode = Local
The .rdl or server reports know how to fetch the data. You configure the datasource and upload them to the report server. Because of this, you can preview the reports while designing them. You can use the web/desktop ReportViewer control to run the reports from inside your app...like a proxy between your application and the report server.ReportViewer.ProccessingMode = Remote
I prefer rdl for any sql datasource, but rdlc is also good for cases where your datasource is very complex or can only be built through the application code. I think there might be ways to configure an object datasource for rdl but I haven't looked into that yet.

Related

How to View SSRS Report (.rdl) in Windows Forms from Same Solution

I have two different project First is Windows Application and second is Report Project
So How can I view report in my First Project
Here's attached screenshot of Both Projects
RDL reports get installed in an instance of SQL Server Reporting Services (SSRS) you then load the report into a ReportViewer control from that server. That's a subject too big to include in a single answer here and you should research it independently and then ask specific questions later if you have them.
If you want the reports to be part of your application itself then you need to create client reports - RDLC files - rather than server reports. There is a VS extension you can install for creating client reports, if that's what you want.

Is it possible to embed a report held on crystal server into a separate web application?

We're developing an ASP MVC web application for a company to monitor and correct incoming data from third parties, then preview a report output before being distributed to their own clients. We've made a prototype with the reports being generated as Crystal Reports through the application itself using CR for Visual Studio.
The client already has a Crystal Server for some internal reporting, we're wondering if we can hook into that so that all Crystal Reports are stored in the same place and save on duplication. We would need to expose a preview of the report in our application and then export the reports from the Crystal Server in PDF and Excel formats ready to be distributed.
Is that possible? I've found very little on the subject.
In case anybody comes back for the answer... We've managed to get this working by using the 'opendocument' url path feature and embedding it into the site using an iframe. Documentation is here.

How to distribute a SSRS report?

(distinction, I'm talking about distributing a report--not deploying a report to a report server)
To our product we've recently added support for it so it can dump various stats to a database (mssql server). Since then, I've made reports (where the datasource is my own sql server). But if I want to get these reports into the hands of customers (pointing to their own database, obviously) so they don't need to make their own (or if they don't want/can't make their own) is there a good way to do this?
I'd rather not have to give instructions on how to use the report creator and have them copy/paste what I've done nor have them open it and change the datasource. I'm completely new to using SSRS and don't know any of its intricacies. I know I can query the database to see what reports are available, is there a way to just add an entire report to the database via code (c# or java)?
Assuming that they have SSRS installed and configured, and assuming that their DB (tables, SPs etc.) match your report - one of the way this could be done is:
When creating your report use a shared datasource (don't use one embedded into report)
Ask a customer to create shared data source in their SSRS instance under the same name, but pointing to their DB
Profit! That's it, all you have to to is to give them the RDL file, they will upload it to their SSRS. It will use shared datasource they provided to pull data from their DB

Custom Report Items in local reports

i have read this article about custom report items(CRI)
http://msdn.microsoft.com/en-us/magazine/cc188686.aspx
The only problem is that CRI are only usable in reporting service and not in local reports. My question is it possible some how to use CRI in local reports( RDLC ). Also i am interested in which version of reporting service is this possible, if possible
Best Regards,
Iordan
Custom report items are not supported in .rdlc files. (http://msdn.microsoft.com/en-us/library/ms251712(v=vs.90).aspx) This is likely the approach taken by Microsoft because the ReportViewer used with these files is a free control, while more complex features like third-party controls are supported only on a full SQL Server report server.
One thing in particular I have done in the past to get around this is generate custom charts/controls/images etc. As images and then send them into the report as an image. Not an ideal solution but it works.

Connecting to Crystal Reports 4.6 from VB

How can I connect to a Crystal Reports 4.6 report that connects to SQL Server 2005 as a data source, using Visual Basic?
I don't want to specify the connection string in the report. I want to pass the connection from VB. Is there any way to do this?
A long time ago I worked on Crystal 4.5 (I don't remember a 4.6). The way to change the connection details is still pretty much like it is today - Find the tables collection for each report and set the location & log on information for each one. Sub reports were a pain though. You had to go through each section of the report to find out if it contained a subreport, then get its table collection.