locked
Would anyone know what is causing this error. ComException (0x80004005) RRS feed

  • Question

  • User2001833234 posted

    Could someone please help.  I have updated an older report to  CR 2013 and it works great from Visual Studio connecting to a SQL Server 2012 database.  But when I deploy to the web server I'm getting this error?  I have seen posts on Google where people have asked this question but never a definitive answer. 

    Note:  I have granted the server users and Network Services full permissions to the site and c:\Windows\Temp and I have deleted every file in C:\Windows\Temp but still no success.

    Also, I don't understand why there is a path referenced in this error from the server showing The path (on my laptop) where the Visual Studio project exists on?

    in C:\Users\<mycomputer>\Desktop\ProductionReport_new\ProductionReport\productionRep.aspx.cs:11

    Help would be major appreciated.

    Dave.

    [COMException (0x80004005): Access is denied.
    ]
       CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) +0
       CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) +127
       CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +331
    
    [CrystalReportsException: Load report failed.]
       CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +523
       CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob) +1503
       CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename) +100
       ProductionReport.productionRep.ConfigureReport() in C:\Users\<mycomputer>\Desktop\ProductionReport_new\ProductionReport\productionRep.aspx.cs:92
       ProductionReport.productionRep.Page_Load(Object sender, EventArgs e) in C:\Users\<mycomputer>\Desktop\ProductionReport_new\ProductionReport\productionRep.aspx.cs:11
       System.Web.UI.Control.OnLoad(EventArgs e) +109
       System.Web.UI.Control.LoadRecursive() +68
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4498
    Monday, March 21, 2016 9:04 PM

Answers

  • User2001833234 posted

    After day's of fighting with Crystal Reports (running on Windows server 2012) I have finally conquered all the bugs issues and problems to get reports working.  Hopefully this post will help someone avoid the pain that I went through looking for fixes.

    1.  Add the following folder to your project “crystalreportviewers13” and copy all the files from an existing (working report) to that folder.  Note: just do a search on your C:\ drive for this folder.

          2. Add the following to your web.config

          Note: the line <identity impersonate … needs to be commented out when debugging

     Insert this part after  <configuration>

    <!-- REQUIRED FOR CRYSTAL REPORTS TO RUN-->

      <configSections>

        <sectionGroup name="businessObjects">

          <sectionGroup name="crystalReports">

            <section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null"/>

            <section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler"/>

          </sectionGroup>

        </sectionGroup>

      </configSections>

      <businessObjects>

        <crystalReports>

          <rptBuildProvider>

            <add embedRptInResource="true"/>

          </rptBuildProvider>

          <crystalReportViewer>

            <add key="ResourceUri" value="crystalreportviewers13"/>

          </crystalReportViewer>

        </crystalReports>

      </businessObjects>

      <!-- ************end section*************** -->

    Insert this part after <system.web>

      <!-- REQUIRED FOR CRYSTAL REPORTS TO RUN. -->

        <authentication mode="Windows" />

        <identity impersonate="true" userName="username" password="password" />

      <!-- *************end section***************** -->

     3. Use the following example for your crystalReportViewer in your page source Note: EnableCashing=”true” must be added to allow users to click on the tool pane items.

    <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" ToolPanelView="None" HasCrystalLogo="False" enableCashing="true" />

    4.  In the code behind of the page that contains your crystalReportViewer, you need to call your ‘ConfigureReport()” method from Page_Init().  ie: where you set your params and datasource for the report.   If you don’t  do this your paging will not work correctly.  The report will constantly reset to page 1 and only allow you to view page 2.

     5. Make sure (in Visual Studio) you test view the report at least once by entering data for the param’s.  If you don’t do this the report won’t be initialized and paging will not work.

    I hope these steps help others in the future.  Note:  I had read that the latest service pack fixed some of these errors ie:  like configuring your report in Page_Init() but I installed the latest version of CR from the SAP web site and it still had problems.

    Dave.

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Thursday, March 24, 2016 3:35 PM