Lesson 5: Publish the Report Definition to the Report Server
The last step for updating the report definition is to publish it back to the report server.
To publish the report to the report catalog
Replace the code for the PublishReportDefinition() method in your Program.cs file (Module1.vb for Visual Basic) with the following code:
private void PublishReportDefinition() { System.Console.WriteLine("Publishing Report Definition"); string reportPath = "/AdventureWorks Sample Reports/Company Sales"; XmlSerializer serializer = new XmlSerializer(typeof(Report)); using (MemoryStream stream = new MemoryStream()) { // Serialize the report into the MemoryStream serializer.Serialize(stream, _report); stream.Position = 0; byte[] bytes = stream.GetBuffer(); // Update the report on the report server Warning[] warnings = _reportService.SetReportDefinition(reportPath, bytes); } }
Private Sub PublishReportDefinition() System.Console.WriteLine("Publishing Report Definition") Dim reportPath As String = _ "/AdventureWorks Sample Reports/Company Sales" Dim serializer As XmlSerializer = _ New XmlSerializer(GetType(Report)) Using stream As MemoryStream = New MemoryStream 'Serialize the report into the MemoryStream serializer.Serialize(stream, m_report) stream.Position = 0 'Update the report on the report server Dim bytes As Byte() = stream.GetBuffer Dim warnings As Warning() = _ m_reportService.SetReportDefinition(reportPath, _ bytes) End Using End Sub
Next Lesson
In the next lesson, you will compile and run the SampleRDLSchema application. See Lesson 6: Run the RDL Schema Application (VB/C#).
See Also