on 03-22-2016 1:16 PM
Hi,
We have a intermittent error on occasion our reports do not render and so far there is no obvious reason or temporary/perm workaround.
We have noticed this on two different servers using version 13.0.3 and 13.0.16 running Windows server with Crystal Reports 2013.
Attached more detailed information.
<!--
Inner Stack Trace:
at CrystalDecisions.Web.HtmlReportRender.ReportRenderBase.Render(Object reportContent)
at CrystalDecisions.Web.ReportAgent.RenderPage(String sDrilldownGraphPostBackPrefix, String sDrilldownPostBackPrefix, String sSortPostBackPrefix, String sHyperlinkClickedPrefix, String controlID, Boolean bSeparatePages, Int32 iZoomFactor, Boolean bShowAllPageIds)
Stack Trace:
at CrystalDecisions.Web.ReportAgent.RenderPage(String sDrilldownGraphPostBackPrefix, String sDrilldownPostBackPrefix, String sSortPostBackPrefix, String sHyperlinkClickedPrefix, String controlID, Boolean bSeparatePages, Int32 iZoomFactor, Boolean bShowAllPageIds)
at CrystalDecisions.Web.CrystalReportPageViewer.RenderPage()
at CrystalDecisions.Web.CrystalReportPageViewer.Render(HtmlTextWriter output)
at CrystalDecisions.Web.CrystalReportPageViewer.GetHTML()
at CrystalDecisions.Web.Render.ReportPageRenderer.GetJSONObject(IComponent component)
at CrystalDecisions.Web.Components.ComponentBase.GetJSONObject()
at CrystalDecisions.Web.Render.ReportViewRenderer.GetJSONObject(IComponent component)
at CrystalDecisions.Web.Components.ComponentBase.GetJSONObject()
at CrystalDecisions.Web.Render.ReportAlbumRenderer.GetJSONObject(IComponent component)
at CrystalDecisions.Web.Components.ComponentBase.GetJSONObject()
at CrystalDecisions.Web.CrystalReportViewer.GetJSONObject()
at CrystalDecisions.Web.CrystalReportViewer.Render(HtmlTextWriter output)
-->
Hi Nick
I wonder if this is load related(?).
Are you batch processing the reports?
How many users are hitting the server when this happens?
How many reports are being requested at the time?
What version is the "Windows server"?
- Ludek
Senior Support Engineer Product Support, Global Support Center Canada
Follow me on Twitter
Got Enhancement ideas? Use the SAP Idea Place
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ludek,
Afraid its not a load issue as its not in production yet but is due to go live next month. Only a few testers with different user accounts have access.
I have seen this occur on Windows Server 2008 and 2012.
ProcessMonitorCrystalReportErrorLogfile.CSV
ProcessMonitorCrystalReportSuccesLogfile.CSV
Files above were captured on Windows 2012 Process Monitor but cannot interpret if anything is an issue or not?
Regards
Nick
The report is simple enough without sub reports.
Other code / configuration as follows.
ReportViewer.aspx |
---|
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ReportViewer.aspx.cs" Inherits="ReportsAspect.Crystal.ReportViewer" %> <%@ Register Assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" Namespace="CrystalDecisions.Web" TagPrefix="CR" %> <!DOCTYPE html PUBLIC "//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> </head> <body> <form id="form1" runat="server"> <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" /> </form> </body> </html> |
ReportViewer.cshtml |
---|
@using Telerik.Web.Mvc.UI @{ System.Web.HttpContext.Current.Session["ReportData_" + ViewBag.ReportType.ToString()] = ViewBag.ReportData; } @model String <div> <label id="ProcessingMessages">@Model</label> @if (String.IsNullOrEmpty(Model)) { <iframe src="Crystal/ReportViewer.aspx?ReportType=@ViewBag.ReportType&ID=@System.Guid.NewGuid()" frameborder="0" style="border:none; width:@(ViewBag.ReportType.ToString() == "DriverAccountSummary" ? 1100 : 1420)px; height:@(ViewBag.ReportType.ToString() == "DriverAccountSummary" ? 1290 : 960)px;"> </iframe> } </div> |
ProcessReport.cs |
---|
[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")] public ActionResult DriverShortsAndOvers() { if (this.ControllerContext != null && this.ControllerContext.HttpContext != null) { this.ControllerContext.HttpContext.Response.AddHeader("cache-control", "no-cache"); // Stops IE from caching result } String uiMessage = String.Empty; ViewBag.ReportType = ReportType.DriverShortsAndOvers; ViewBag.ReportData = Enumerable.Empty<DriverShortsAndOversReportEntity>(); // Report Dao uses Nhibernate to retrieve data from SQL Server 2008 database to Populate the Report Model/Entity. IEnumerable<DriverShortsAndOversReportEntity> reportData = reportsDao.GetDataForDriverShortsAndOversReport(.....) .... ... return PartialView("ReportsViewer", uiMessage); } |
Here is a general description of what drivers should be used with what version of MS SQL:
For OLE DB use:
MS SQL 2005 - OLE DB Provider
MS SQL 2008 - SQL Native 10
MS SQL 2012 - SQL Native 11
MS SQL 2013 - SQL Native 11
MS SQL 2014 - SQL Native 11
For ODBC use:
MS SQL 2005 - SQL Native
MS SQL 2008 - SQL Native 10
MS SQL 2012 - SQL Native 11
MS SQL 2013 - SQL Native 11
MS SQL 2014 - MSODBCSQL11 [ https://www.microsoft.com/download/details.aspx?id=36434 ]
In your case, are you using MS SQL 2008 - SQL Native 10?
- Ludek
Please provide a guide on how I should proceed to find out the "root" cause of this issue.
Is there any other options, debugging, logging, analysis we can do?
We are struggling to resolve why Crystal Reports is failing for some users which have restricted rights, perhaps this is a security access issue that has been locked down to much? Most users have no issues with running reports.
Regards
Nick
Hi Nick
I suppose to find root cause I'd play with the rights to know what minimum rights the user needs. I can't recommend anything as this depends on many variables.
Though, if the issue is still intermittent as reported in the OP, I doubt this is rights related as if it were rights, I'd expect it to be consistent.
But the place to start would be the db client (make sure the correct one is being used). Fiddler ( Fiddler free web debugging proxy) may be a good idea to see what is happening with the http responses.
- Ludek
I have done a little more investigation using Fiddler but still there is no indication as to why Crystal Assemblies are causing a stack trace.
This error does not occur for the first user after restarting the website. For any other users no matter which report or which security settings they have the Crystal Failed to Render exception / stack trace occurs.
See the screen shots attached Fiddler Trace.
I don't see anything obvious there either.
Your best bet at this point will be to contact sales and see if you can obtain phone support. NA ph for sales: 866-681-3435
WW office index: Contact Form
- Ludek
Some more slightly different Fiddler trace from the ASPX page directly.
/Crystal/ReportViewer.aspx?ReportType=DriverAccountSummary&ID=12fdc3a0-2741-4081-919c-e320ebf0fe6b
Fiddler Trace - Failed to Render2.jpg.
User | Count |
---|---|
78 | |
10 | |
10 | |
7 | |
7 | |
6 | |
6 | |
6 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.