Reputation: 3562
I have a project where we are creating a custom report generator for SSRS 2008R2. This project allows the user to select fields from a database and then create and store the RDL on the report server. For some of the initial proof of concept attempts we have been using XMLText writer to generate the XML file. While this works this seems to be very cumbersome and I don't have a lot of confidence in how the schema is being generated as being 100% bulletproof. A second attempt is actually using the generated class from the RDL as my object model. Where I am stuck here is there is almost zero documentation on how to use this object. MSDN has a tutorial on updating the model but it very basic in concept.
I'm looking for some guidance on the preferred approach. 1) continue with the XML generation 2) use the RDL object to create the reports 3) I have also considered using the SSRS endpoint where a dummy report is created and stored on the server then using the RDL object model to update the report with the necessary fields, groups etc.
I haven't tested the third option but it seems as this would minimize the amount of coding for the creation of the document.
Thanks for any suggestions or ideas
Upvotes: 3
Views: 2412
Reputation: 1418
I ran into the same problem where I was using RdlObjectModel to create my report object but I was unable to serialize it. There is a way to overcome that issue where you can still get instance of the RdlSerializer and call serialize method using reflection
You can find the implementation at the following link
Upvotes: -1
Reputation: 1068
I just built a program that creates an SSRS report from a report template and a stored procedure.
I am using the RDLObjectModel to create the report. And RDLSerializer to allow saving the report to a file or the report server. I first load a report template from our report server through the SSRS web service to deserialize the server report into and RDLObjectModel. I then derive parameters for the report fields, and derive fields from the stored procedure to make a report dataset.
The problem that I ran into is that I wasn't able to serialize the report object to be able to save it to the server or to a file because in RDL2008 RDLSerializer is private. Then I came across an article that saved me a lot of headaches. http://ucodia.fr/2011/10/advanced-reporting-services-part2-rdl-serializer/
This is a much better approach that using XMLTextWriter. This should provide you enough to get things rolling.
Upvotes: 2