Thursday, March 29, 2012

Error rendering sub-reports

I have a report (ReportA) that is a matrix showing monthly figures for 1 of 20 different items (think of monthly sales figures for 20 different products). In order to obtain a report for all 20 items, it is necessary to generate this report 20 times. To ease generating the reports, I created a new report(ReportB) that has a simple table displaying the recordset of all 20 items. The single cell of the report contains a subreport object tied to ReportA. Each record is passed to the subreport as the parameter of the subreport. The table is grouped by the items and a page break is inserted at the end of each group. This allows for each subreport to appear on its own page.

This all works fine in Report Designer and generates a single report with the matrix repeated once for each of the 20 items. However, when the report is run in Report Manager, problems arise. Although the report appears to render fine on page one, I can't get to page 2. Paging to the next page results in the following error message: Exception of type Microsoft.ReportingServices.ReportRendering.ReportRenderingException was thrown. (rrRenderingError) Get Online Help Exception of type Microsoft.ReportingServices.ReportRendering.ReportRenderingException was thrown. Object reference not set to an instance of an object.

Oddly enough, exporting to a PDF works just fine.

I need help!!!

What version of RS are you using on the report server?

When you try to render the second page in report manager and it fails, there should be a callstack in the report server logfile. Can you please post that callstack?

-- Robert

|||

Using RS2000 SP2

Call stack follows:

aspnet_wp!library!bbc!12/15/2005-09:29:14:: i INFO: Call to GetPermissions:/
aspnet_wp!library!bbc!12/15/2005-09:29:14:: i INFO: Call to GetSystemPermissions
aspnet_wp!library!b54!12/15/2005-09:29:16:: i INFO: Call to GetPermissions:/FISReports
aspnet_wp!library!b54!12/15/2005-09:29:16:: i INFO: Call to GetSystemPermissions
aspnet_wp!library!bbc!12/15/2005-09:29:18:: i INFO: Call to GetPermissions:/FISReports/AllSystemMetrics
aspnet_wp!library!bbc!12/15/2005-09:29:18:: i INFO: Call to GetSystemPermissions
aspnet_wp!library!bbc!12/15/2005-09:29:19:: i INFO: Call to RenderFirst( '/FISReports/AllSystemMetrics' )
aspnet_wp!runningjobs!b78!12/15/2005-09:29:51:: i INFO: Adding: 1 running jobs to the database
aspnet_wp!library!bbc!12/15/2005-09:32:12:: i INFO: Initializing EnableExecutionLogging to 'True' as specified in Server system properties.
aspnet_wp!webserver!bbc!12/15/2005-09:32:12:: i INFO: Processed report. Report='/FISReports/AllSystemMetrics', Stream=''
aspnet_wp!library!bbc!12/15/2005-09:33:09:: i INFO: Call to RenderNext( '/FISReports/AllSystemMetrics' )
aspnet_wp!reportrendering!bbc!12/15/2005-09:33:10:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.WrapperReportRenderingException: Exception of type Microsoft.ReportingServices.ReportRendering.ReportRenderingException was thrown., ;
Info: Microsoft.ReportingServices.ReportProcessing.WrapperReportRenderingException: Exception of type Microsoft.ReportingServices.ReportRendering.ReportRenderingException was thrown. > Microsoft.ReportingServices.ReportRendering.ReportRenderingException: Exception of type Microsoft.ReportingServices.ReportRendering.ReportRenderingException was thrown. > System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.ReportingServices.Rendering.HtmlRenderer.BaseRenderer.UpdateMatrixMemberHeight(MatrixMember member)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.HTML4Renderer.RenderMatrixMember(MatrixMember matrixMember, Int32 colSpan, Int32 rowSpan, String docMapId, Boolean inDocMap, Int32 borderContext, Boolean updateSize)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.BaseRenderer.RenderNonSplitMatrixLevel(Matrix matrix, MatrixMember currMember, Boolean& newRow, Boolean partialItem, Int32 level, IntList hiddenColumns, SizeCollection cellHeights, Boolean changableRows, Int32 borderContext, Boolean dirLefRight)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.BaseRenderer.RenderNonSplitMatrix(Matrix matrix, MatrixMember member, Boolean& newRow, Boolean partialItem, Int32 level, IntList hiddenColumns, SizeCollection cellHeights, Boolean changableRows, Int32 borderContext, Boolean dirLefRight)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.BaseRenderer.RenderNonSplitMatrixLevel(Matrix matrix, MatrixMember currMember, Boolean& newRow, Boolean partialItem, Int32 level, IntList hiddenColumns, SizeCollection cellHeights, Boolean changableRows, Int32 borderContext, Boolean dirLefRight)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.BaseRenderer.RenderNonSplitMatrix(Matrix matrix, MatrixMember member, Boolean& newRow, Boolean partialItem, Int32 level, IntList hiddenColumns, SizeCollection cellHeights, Boolean changableRows, Int32 borderContext, Boolean dirLefRight)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.BaseRenderer.RenderNonSplitMatrixLevel(Matrix matrix, MatrixMember currMember, Boolean& newRow, Boolean partialItem, Int32 level, IntList hiddenColumns, SizeCollection cellHeights, Boolean changableRows, Int32 borderContext, Boolean dirLefRight)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.BaseRenderer.RenderNonSplitMatrix(Matrix matrix, MatrixMember member, Boolean& newRow, Boolean partialItem, Int32 level, IntList hiddenColumns, SizeCollection cellHeights, Boolean changableRows, Int32 borderContext, Boolean dirLefRight)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.BaseRenderer.RenderMatrixContent(Matrix matrix, Boolean partialItem, Int32 borderContext, Boolean dirLefRight, Boolean expandLayout)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.HTML4Renderer.RenderMatrix(Matrix matrix, Boolean partialItem, Int32& borderContext, Boolean renderId)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.HTML4Renderer.RenderReportItem(ReportItem reportItem, Int32 borderContext, Boolean renderId)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.BaseRenderer.RenderCellItems(ReportItemCollection repItemCol, Hashtable partialItems, Hashtable expandItems, PageTableCell currCell, Int32 borderContext, Int32 linkToChild, Boolean layoutExpand)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.HTML4Renderer.GenerateTableLayoutContent(PageTableLayout rgTableGrid, Hashtable partialItems, ReportItemCollection repItemCol, Boolean bfZeroRowReq, Boolean bfZeroColReq, String docMapId, Boolean inDocMap, Boolean renderHeight, Int32 borderContext, Int32 linkToChild, Boolean layoutExpand)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.HTML4Renderer.GenerateHTMLTable(ReportItemCollection repItemCol, Double dxParent, Double dyParent, PageData pageData, String docMapId, Boolean inDocMap, Int32 borderContext, Int32 linkToChild, Boolean expandLayout)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.HTML4Renderer.RenderSubReport(SubReport subReport, PageData pageData, Int32& borderContext, Boolean renderId)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.HTML4Renderer.RenderReportItem(ReportItem reportItem, Int32 borderContext, Boolean renderId)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.HTML4Renderer.RenderHTMLTableRowCell(TableCell lastCell, Int32 lastColSpan, Boolean firstVisibleCell, Boolean lastVisibleCell, TableContext tableContext)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.HTML4Renderer.RenderHTMLTableRow(TableRow tableRow, String docMapId, Boolean inDocMap, TableColumnCollection columns, TableContext tableContext)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.BaseRenderer.RenderTableRow(TableRow tableRow, TableAction tableAction, String docMapId, Boolean inDocMap, TableColumnCollection columns, TableContext tableContext)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.BaseRenderer.RenderTableRowColl(TableRowCollection tableRowColl, TableAction action, String docMapId, Boolean inDocMap, TableColumnCollection columns, TableContext tableContext)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.BaseRenderer.RenderTableGroup(TableGroup tableGroup, TableAction action, Int32& totalRows, TableColumnCollection columns, TableContext tableContext)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.BaseRenderer.RenderPartialTable(Table table, Int32 startPage, Int32 endPage, TableAction action, Int32& totalRows, TableContext tableContext)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.HTML4Renderer.RenderTableContent(Table table, Int32 startPage, Int32 endPage, Int32 tableBorderContext)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.HTML4Renderer.RenderTable(Table table, Int32 startPage, Int32 endPage, Int32& borderContext, Boolean renderId)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.BaseRenderer.RenderPartialItem(ReportItem repItem, PageData pageData, Int32 startPage, Int32 endPage, Int32 borderContext, Boolean isLinkToChild)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.BaseRenderer.RenderCellItems(ReportItemCollection repItemCol, Hashtable partialItems, Hashtable expandItems, PageTableCell currCell, Int32 borderContext, Int32 linkToChild, Boolean layoutExpand)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.HTML4Renderer.GenerateTableLayoutContent(PageTableLayout rgTableGrid, Hashtable partialItems, ReportItemCollection repItemCol, Boolean bfZeroRowReq, Boolean bfZeroColReq, String docMapId, Boolean inDocMap, Boolean renderHeight, Int32 borderContext, Int32 linkToChild, Boolean layoutExpand)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.HTML4Renderer.GenerateHTMLTable(ReportItemCollection repItemCol, Double dxParent, Double dyParent, PageData pageData, String docMapId, Boolean inDocMap, Int32 borderContext, Int32 linkToChild, Boolean expandLayout)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.HTML4Renderer.RenderRectangle(Rectangle rectangle, PageData pageData, Int32& borderContext, Boolean renderId)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.BaseRenderer.RenderPartialItem(ReportItem repItem, PageData pageData, Int32 startPage, Int32 endPage, Int32 borderContext, Boolean isLinkToChild)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.BaseRenderer.RenderPage(Int32 index)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.BaseRenderer.RenderPages()
at Microsoft.ReportingServices.Rendering.HtmlRenderer.BaseRenderer.RenderBody(HtmlTextWriter htmlTextWriter)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.ViewerReportArea.RenderBody(HtmlTextWriter outputWriter)
at Microsoft.ReportingServices.WebServer.ContainerControl.RenderBody(HtmlTextWriter outputWriter)
at Microsoft.ReportingServices.WebServer.HTMLViewerPage.Render(HtmlTextWriter outputWriter)
at Microsoft.ReportingServices.WebServer.HtmlArea.Render(HtmlTextWriter outputWriter)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.ViewerReportArea.Render(HtmlTextWriter outputWriter)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.Html40RenderingExtension.InternalRender(Report report, NameValueCollection reportServerParameters, NameValueCollection deviceInfo, NameValueCollection clientCapabilities, EvaluateHeaderFooterExpressions evaluateHeaderFooterExpressions, CreateAndRegisterStream createAndRegisterStream)
at Microsoft.ReportingServices.Rendering.HtmlRenderer.RenderingExtensionBase.Render(Report report, NameValueCollection reportServerParameters, NameValueCollection deviceInfo, NameValueCollection clientCapabilities, EvaluateHeaderFooterExpressions evaluateHeaderFooterExpressions, CreateAndRegisterStream createAndRegisterStream)
End of inner exception stack trace
at Microsoft.ReportingServices.Rendering.HtmlRenderer.RenderingExtensionBase.Render(Report report, NameValueCollection reportServerParameters, NameValueCollection deviceInfo, NameValueCollection clientCapabilities, EvaluateHeaderFooterExpressions evaluateHeaderFooterExpressions, CreateAndRegisterStream createAndRegisterStream)
at Microsoft.ReportingServices.ReportProcessing.ReportProcessing.RenderSnapshot(CreateReportChunk createChunkCallback, RenderingContext rc, GetResource getResourceCallback)
End of inner exception stack trace
aspnet_wp!webserver!bbc!12/15/2005-09:33:15:: e ERROR: Reporting Services error Microsoft.ReportingServices.ReportProcessing.WrapperReportRenderingException: Exception of type Microsoft.ReportingServices.ReportRendering.ReportRenderingException was thrown. > Microsoft.ReportingServices.ReportRendering.ReportRenderingException: Exception of type Microsoft.ReportingServices.ReportRendering.ReportRenderingException was thrown. > System.NullReferenceException: Object reference not set to an instance of an object.

|||

Do you set Height = 0 for any matrix cell in your report? Could you send us the report rdl files, please?

Thank you,

Nico

|||

Further testing seems to point in the following direction:

References in the subreport to either the ReportItems collection or embedded code seems to result in the error. If I remove these references, everything works fine (except the report is no longer accurate ).

NOTE: I tried listing the rdl, but saving the post with the rdl included resulted in an error

sql

No comments:

Post a Comment