I'm not sure if this is the right place to put this question, but I've gone through all the other forums and though this looked like the best fit. Apologies if this isn't the case.
What I'm hoping to find out though is what options are available to me to run an existing crystal report on a number of other systems. To give abit of background I work for a company that has around 140 stores across Australia. We currently use a thin client POS system at the stores and there has come a need to use another reporting facility, and we're hoping Crystal Reports will meet that criteria. The need is to allow the stores to view reports locally without having to rely on a server.
We are planning on purchasing the full version of Crystal Reports designer to build the reports themselves at Head Office (we are currently using the Trial version to see if we can accomplish the results we need) but the hurdle we face at the moment is how the stores themselves will actually run the reports and view the results on their end.
Our initial line of thinking was that the reports would use an XML based datasource and the sample reports that we have built are structured on that as well. The XML datasource would be refreshed from the Thin Client system onto the stores local directory whenever a report is ran. What we don't know is how to run the Crystal Report using that datasource without using some additional third party programs (or even something like a C# application acting as the middleman).
We aren't even sure if this is the best approach or if there's another option, but essentially we are looking to see what options are available to run a .rpt file locally. We've looked at the CrystalReportsViewer freeware application and we're not sure if that meets our requirements (it didn't seem to actively point to the XML datasource, and also had a fair amount of popups and external links).
I'm hoping someone might be able to point me in the right direction. If you need any other information then let me know.
Thanks for the response. Firstly thanks for moving the thread. I wasn't sure if I had posted it in the right place.
I can confirm that it is indeed Crystal Reports 2011, although the version of Crystal Reports that we end up using is pretty open. If a different version is required that would be better suited then we can opt for that.
Also, we're hoping that the final reports won't be very large. It won't be anywhere near the 2000 line mark, and infact I would imagine it wouldn't even reach the 100 line mark. Not sure if this means that an XML based datasource would be sufficient or whether you would still recommend an ADO .NET dataset.
You mentioned in the first paragraph that the viewer will only view reports that connect to the same datasource that the reports were built off. Does this mean that the as long as the datasource is the same (even if the data in that datasource changes) then a report viewed through the viewer will be updated to reflect those changes? In other words, as a simple example if the XML datasource was to always reside in c:\Data.XML then the viewer would update accordingly to reflect any changes to that datasource?
Also a quick question about the SDK's. Do they work with the express version of Visual Studio or would they require the full version? We have an older version of Visual Studio and I'm just trying to work out whether we should upgrade or simply install the express version of the latest ones.
Finally, can you elaborate on the runtime options you mentioned below (or is there an article that covers those ,or possibly just point me in the right direction)? I'm just trying to get my head around using one of them in conjunction with a thin client based system. The thin client based system only really has access to run executables or copying across text files to the local machine, so are we saying that it would run the report by running the .net exe?
Thanks again for your time.
I really like your questions. Much better to get those out of the way now than after you've jumped over the cliff LOL
Re. the size of the dataset and XML. One thing I forgot is that you could use a direct connection to an XML, but do ensure that you are using the crdb_adoplus.dll driver (). The crdb_xml.dll driver () converts all data types to string (for what ever reason...) which often leads to issues.
Now to your questions.
if the XML datasource was to always reside in c:Data.XML then the viewer would update accordingly to reflect any changes to that datasource?
- Yes this will be fine. Actually in this case it will be the engine reading the report and the report has that info stored internally.
But remember you do have the option of changing the path as per the KB in my previous post.
Also a quick question about the SDK's. Do they work with the express version of Visual Studio or would they require the full version?
- The CR SDK does not integrate with the express version of VS .NET.
Re. the SDKs
- Click [here|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/40bccdfd-88a6-2b10-1da1-c47a54b625a7] for a presentation on the available SDKs. The Developer help files also discuss these. But in you r case, as I read your posts, it looks to me like this will be a pretty simple / vanilla kind of application. If the XML will always be in the same location and the reports do not need any selection formula, parameters, etc., passed to them, the code could be as simple as:
Dim crReportDocument As New CrystalDecisions.CrystalReports.Engine.ReportDocument() 'Load the report crReportDocument.Load("<path to your report>") 'Bind the report to the viewer CrystalReportViewer1.ReportSource = crReportDocument crReportDocument.Close crReportDocument.Dispose