Asked by:
I am using crystal report with visual studio 2010 ,report is not working when deployed to server ?

Question
-
User1664383723 posted
I installed SAP crystal report setup n generate a report whic is working fine on my PC but When I merge the code on website running on server it shows error :
system.runtime.interopservices.comexception error on crystal report load
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using DataAccessLayer; using System.Data; using System.Data.SqlClient; using CrystalDecisions.CrystalReports; using CrystalDecisions.CrystalReports.Engine; using CrystalDecisions.Web; using CrystalDecisions.Shared; public partial class Pages_PM_revenuesummary : System.Web.UI.Page { SAM_ERPEntities context = new SAM_ERPEntities(); public DateTime today = DateTime.Today.Date; ReportDocument report = new ReportDocument(); ReportDocument subreport = new ReportDocument(); int PortalId; int ProjectStatusId; int ProjectTypeId; DateTime StartDate; DateTime EndDate; string projectStatus; string projectType; string projectPortal; protected void Page_Load(object sender, EventArgs e) { lblMessage.Text = ""; CrystalReportViewer1.Visible = false; if (!IsPostBack) { CrystalReportViewer1.Visible = false; txtEndDate.Text = today.Date.ToString("MM/dd/yyyy"); txtStartDate.Text = DateTime.Now.Date.AddMonths(-1).ToString("MM/dd/yyyy"); BindPortals(); BindProjectType(); BindProjectStatus(); } if (hd_ReportVisible.Value =="true") { Load_Report(); } } public void BindPortals() { var portals = new SAM_ERPEntities().Portals.Where(c => c.IsActive == true).OrderBy(c => c.PortalName) .Select(c => new { PortalId = c.PortalId, PortalName = c.PortalName }); BindDropDown(ddlPortal, portals, "PortalName", "PortalId", true, false); } public void BindProjectType() { var projectType = new SAM_ERPEntities().ProjectTypes.Where(c => c.IsActive == true).OrderBy(c => c.ProjectTypeId) .Select(c => new { ProjectTypeId = c.ProjectTypeId, ProjectTypeName = c.ProjectTypeName }); BindDropDown(ddlProjectType, projectType, "ProjectTypeName", "ProjectTypeId", true, false); } public void BindProjectStatus() { var projectStatus = new SAM_ERPEntities().ProjectStatus.Where(c => c.IsActive == true).OrderBy(c => c.ProjectStatusId) .Select(c => new { ProjectStatusId = c.ProjectStatusId, ProjectStatusName = c.ProjectStatusName }); BindDropDown(ddlProjectStatus, projectStatus, "ProjectStatusName", "ProjectStatusId", true, false); } protected void btnShowRevenueSummary_Click(object sender, EventArgs e) { DateTime startdate = Convert.ToDateTime(txtStartDate.Text); DateTime enddate = Convert.ToDateTime(txtEndDate.Text); if (enddate == startdate) { lblMessage.Text = "Start Date & End Date can't be same!"; } else if (enddate < startdate) { lblMessage.Text = "End Date must be greated than Start Date!"; } else { lblMessage.Text = ""; Load_Report(); } //string PType = "RevenueSummary"; //Response.Redirect("reportviewer.aspx?sdate=" + StartDate + "&edate=" + EndDate + "&PtId" + ProjectTypeId + "&PsId" + ProjectStatusId + "&PoId" + PortalId + "&PType" + PType); } public void Load_Report() { CrystalReportViewer1.Visible = true; hd_ReportVisible.Value = "true"; PortalId = Convert.ToInt16(ddlPortal.SelectedItem.Value); ProjectStatusId = Convert.ToInt16(ddlProjectStatus.SelectedItem.Value); ProjectTypeId = Convert.ToInt16(ddlProjectType.SelectedItem.Value); StartDate = Convert.ToDateTime(txtStartDate.Text); EndDate = Convert.ToDateTime(txtEndDate.Text); projectPortal = ddlPortal.SelectedItem.Text; projectStatus = ddlProjectStatus.SelectedItem.Text; projectType = ddlProjectType.SelectedItem.Text; DateTime sdate = StartDate.Date; DateTime edate = EndDate.Date; var selectData = context.USP_PM_GetRevenueSummaryDetails(ProjectStatusId, ProjectTypeId, PortalId, StartDate, EndDate); DataTable dtdata = new DataTable(); DataColumn dtcolumn = dtdata.Columns.Add("Id", typeof(int)); dtcolumn.AutoIncrement = true; dtdata.Columns.Add("ProjectTypeName", typeof(string)); dtdata.Columns.Add("CurrencyCode", typeof(string)); dtdata.Columns.Add("TotalBudget", typeof(decimal)); dtdata.Columns.Add("TotalReceivedPayment", typeof(decimal)); dtdata.Columns.Add("TotalEscrowedPayment", typeof(decimal)); dtdata.Columns.Add("TotalRemainingPayment", typeof(decimal)); dtdata.Columns.Add("TotalProjects", typeof(decimal)); dtdata.Columns.Add("ProjectCreated", typeof(decimal)); dtdata.Columns.Add("ScriptApproved", typeof(decimal)); dtdata.Columns.Add("StoryBoardApproved", typeof(decimal)); dtdata.Columns.Add("VoiceOverApproved", typeof(decimal)); dtdata.Columns.Add("IllustrationApproved", typeof(decimal)); dtdata.Columns.Add("AnimationApproved", typeof(decimal)); foreach (var item in selectData) { DataRow dr = dtdata.NewRow(); string name = item.ProjectTypeName.ToString(); dr["ProjectTypeName"] = (item.ProjectTypeName).ToString(); dr["CurrencyCode"] = (item.CurrencyCode).ToString(); dr["TotalBudget"] = Convert.ToDecimal(item.TotalBudget); dr["TotalReceivedPayment"] = Convert.ToDecimal(item.Received); dr["TotalEscrowedPayment"] = Convert.ToDecimal(item.Escrowed); dr["TotalRemainingPayment"] = Convert.ToDecimal(item.Remaining); dr["TotalProjects"] = Convert.ToDecimal(item.TotalProject); dr["ProjectCreated"] = Convert.ToDecimal(item.TotalProjectCreated); dr["ScriptApproved"] = Convert.ToDecimal(item.ScriptApproved); dr["StoryBoardApproved"] = Convert.ToDecimal(item.StoryboardApproved); dr["VoiceOverApproved"] = Convert.ToDecimal(item.VoiceOverApproved); dr["IllustrationApproved"] = Convert.ToDecimal(item.IllustrationApproved); dr["AnimationApproved"] = Convert.ToDecimal(item.AnimationApproved); dtdata.Rows.Add(dr); } dtdata.AcceptChanges(); report.Load(Server.MapPath("~/Pages/PM/Reports/revenuesummaryRpt.rpt")); report.SetDataSource(dtdata); report.OpenSubreport("revenuesummaryTotalRpt.rpt").SetDataSource(RevenueSummaryTotal()); report.SetParameterValue("FromDate", edate); report.SetParameterValue("ToDate", sdate); report.SetParameterValue("ProjectType",projectType); report.SetParameterValue("ProjectStatus", projectStatus); report.SetParameterValue("Portal", projectPortal); CrystalReportViewer1.ReportSource = report; //btn_Close.Visible = true; } public DataTable RevenueSummaryTotal() { var subData = context.USP_PM_GetRevenueSummaryTotal(ProjectStatusId, ProjectTypeId, PortalId, StartDate, EndDate); DataTable dtsubdata = new DataTable(); DataColumn dtsubcolumn = dtsubdata.Columns.Add("Id", typeof(int)); dtsubcolumn.AutoIncrement = true; dtsubdata.Columns.Add("CurrencyCode", typeof(string)); dtsubdata.Columns.Add("TotalBudget", typeof(decimal)); dtsubdata.Columns.Add("TRemaining", typeof(decimal)); dtsubdata.Columns.Add("TEscrowed", typeof(decimal)); dtsubdata.Columns.Add("TReceived", typeof(decimal)); dtsubdata.Columns.Add("Total_Projects", typeof(int)); foreach (var item in subData) { DataRow dr = dtsubdata.NewRow(); dr["CurrencyCode"] = (item.CurrencyCode).ToString(); dr["TotalBudget"] = Convert.ToDecimal(item.TotalBudget); dr["TRemaining"] = Convert.ToDecimal(item.TRemaining); dr["TReceived"] = Convert.ToDecimal(item.TReceived); dr["TEscrowed"] = Convert.ToDecimal(item.TEscrowed); dr["Total_Projects"] = Convert.ToInt16(item.TotalProjects); dtsubdata.Rows.Add(dr); } dtsubdata.AcceptChanges(); return dtsubdata; } protected void Page_Unload(object sender, EventArgs e) { report.Close(); report.Dispose(); } public void BindDropDown(DropDownList ddlGeneral, Object dataSource, string dataTextField, string dataValueField, bool hasSelectItem, bool hasOtherItem) { ddlGeneral.DataSource = dataSource; ddlGeneral.DataTextField = dataTextField; ddlGeneral.DataValueField = dataValueField; ddlGeneral.DataBind(); if (hasSelectItem == true) { ddlGeneral.Items.Insert(0, new ListItem("All", "0")); } if (hasOtherItem == true) { ddlGeneral.Items.Add(new ListItem("-OTHER-", "-100")); } } }
I run the same setuo on server machine,I tryed the code on server machine but still the same error on
report.Load(Server.MapPath("~/Pages/PM/Reports/revenuesummaryRpt.rpt"));
The same server path run without error on my Pc .kindly help me out
Thursday, June 27, 2013 9:30 AM
All replies
-
User-578610739 posted
Hi Madiha,
Ther is no issue in your code. The issue is differ version in your deploy server and your local machine or permission also.
please read ,
http://forums.asp.net/t/1820731.aspx/1
Thursday, June 27, 2013 9:55 AM -
User1664383723 posted
Web.config:
<?xml version="1.0"?><!-- For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=169433 --><configuration> <configSections> <section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true"/> <section name="exceptionHandling" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration.ExceptionHandlingSettings, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true"/> <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true"/> <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"/></sectionGroup></sectionGroup></configSections> <appSettings> <add key="CrystalImageCleaner-AutoStart" value="true"/> <add key="CrystalImageCleaner-Sleep" value="60000"/> <add key="CrystalImageCleaner-Age" value="120000"/> </appSettings> <loggingConfiguration name="" tracingEnabled="true" defaultCategory="General"> <listeners> <add name="Event Log Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FormattedEventLogTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" source="Enterprise Library Logging" formatter="Text Formatter" log="" machineName="." traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack"/> <add name="Email Trace Listener" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.EmailTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.EmailTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" toAddress="abdulrazzak@aimviz.com;aatif.shabbir@gmail.com;madihar2007@gmail.com;ata.abalaze@gmail.com" fromAddress="new_erp@aimviz.com" subjectLineStarter="Attention Needed" subjectLineEnder="New_Erp Error" smtpServer="smtp.gmail.com" smtpPort="587" formatter="Text Formatter" authenticationMode="UserNameAndPassword" useSSL="true" userName="abdulrazzak@aimviz.com" password="2000java" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack"/> </listeners> <formatters> <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" template="Timestamp: {timestamp}{newline}
Message: {message}{newline}
Category: {category}{newline}
Priority: {priority}{newline}
EventId: {eventid}{newline}
Severity: {severity}{newline}
Title:{title}{newline}
Machine: {localMachine}{newline}
App Domain: {localAppDomain}{newline}
ProcessId: {localProcessId}{newline}
Process Name: {localProcessName}{newline}
Thread Name: {threadName}{newline}
Win32 ThreadId:{win32ThreadId}{newline}
Extended Properties: {dictionary({key} - {value}{newline})}" name="Text Formatter"/> </formatters> <categorySources> <add switchValue="All" name="General"> <listeners> <add name="Event Log Listener"/> </listeners> </add> </categorySources> <specialSources> <allEvents switchValue="All" name="All Events"> <listeners> <add name="Email Trace Listener"/> </listeners> </allEvents> <notProcessed switchValue="All" name="Unprocessed Category"/> <errors switchValue="All" name="Logging Errors & Warnings"> <listeners> <add name="Event Log Listener"/> </listeners> </errors> </specialSources> </loggingConfiguration> <exceptionHandling> <exceptionPolicies> <add name="Global Policy"> <exceptionTypes> <add name="All Exceptions" type="System.Exception, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" postHandlingAction="NotifyRethrow"> <exceptionHandlers> <add name="Logging Exception Handler" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.LoggingExceptionHandler, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" logCategory="General" eventId="100" severity="Error" title="Enterprise Library Exception Handling" formatterType="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.TextExceptionFormatter, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" priority="0"/> </exceptionHandlers> </add> </exceptionTypes> </add> </exceptionPolicies> </exceptionHandling> <dataConfiguration defaultDatabase="SAM_ERPEntities"/> <connectionStrings> <add name="hrConnectionString" connectionString="Data Source=sql2008;Initial Catalog=HR_Test2;User Id=****;Password=********;"/> </connectionStrings> <system.web> <httpRuntime maxRequestLength="30000"/> <customErrors mode="RemoteOnly" defaultRedirect="Message.aspx"> </customErrors> <compilation debug="true" targetFramework="4.0"> <assemblies> <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> <add assembly="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/> <add assembly="CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/> <add assembly="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/> <add assembly="CrystalDecisions.ReportSource, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/> <add assembly="CrystalDecisions.ReportAppServer.Controllers, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/> <add assembly="CrystalDecisions.ReportAppServer.DataDefModel, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/> <add assembly="CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/><add assembly="CrystalDecisions.ReportAppServer.ClientDoc, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/></assemblies> <buildProviders><add extension=".rpt" type="CrystalDecisions.Web.Compilation.RptBuildProvider, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/></buildProviders></compilation> <authentication mode="Forms"> <forms loginUrl="~/Account/Login.aspx" timeout="2880"/> </authentication> <membership> <providers> <clear/> <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/> </providers> </membership> <profile> <providers> <clear/> <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/> </providers> </profile> <roleManager enabled="false"> <providers> <clear/> <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/"/> <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/"/> </providers> </roleManager> <httpHandlers><add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/></httpHandlers></system.web> <system.webServer> <modules runAllManagedModulesForAllRequests="true"/> <staticContent> <remove fileExtension=".woff"/> <mimeMap fileExtension=".woff" mimeType="application/x-font-woff"/> </staticContent> <handlers><add name="CrystalImageHandler.aspx_GET" verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" preCondition="integratedMode"/></handlers><validation validateIntegratedModeConfiguration="false"/></system.webServer> <system.serviceModel> <behaviors> <endpointBehaviors> <behavior name="ServiceAspNetAjaxBehavior"> <enableWebScript/> </behavior> <behavior name="MyHRServiceAspNetAjaxBehavior"> <enableWebScript/> </behavior> </endpointBehaviors> </behaviors> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/> <services> <service name="Service"> <endpoint address="" behaviorConfiguration="ServiceAspNetAjaxBehavior" binding="webHttpBinding" contract="Service"/> </service> </services> </system.serviceModel> <businessObjects><crystalReports><rptBuildProvider><add embedRptInResource="true"/></rptBuildProvider></crystalReports></businessObjects></configuration>
I checked the path is correct,It has access to report,crystal viewer is showing correctly ... :( but still got the issue....
Do inne to do some settings in IIS ? or do i need to replace bin folder tooo
Friday, June 28, 2013 2:03 AM -
User1664383723 posted
Error came on windows server 2008 R2 machine
and ERROR :
Error 34 Type 'CrystalDecisions.Shared.CrystalReportsException' in assembly 'CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' is not marked as serializable. ============================================================= Server Error in '/' Application. The Report Application Server failed Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Runtime.InteropServices.COMException: The Report Application Server failed Source Error: Line 211: //dtsubdata.AcceptChanges(); Line 212: Line 213: report.Load(Server.MapPath("~/Pages/PM/Reports/revenuesummaryRpt.rpt")); Line 214: report.SetDataSource(dtdata); Line 215: report.OpenSubreport("revenuesummaryTotalRpt.rpt").SetDataSource(RevenueSummaryTotal()); Source File: d:\Sites\New_Erp\Pages\PM\revenuesummary.aspx.cs Line: 213 Stack Trace: [COMException (0x800001f5): The Report Application Server failed] CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) +0 CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) +95 CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +270 [CrystalReportsException: Load report failed.] CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +333 CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob) +877 CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename) +84 Pages_PM_revenuesummary.Load_Report() in d:\Sites\New_Erp\Pages\PM\revenuesummary.aspx.cs:213 Pages_PM_revenuesummary.btnShowRevenueSummary_Click(Object sender, EventArgs e) in d:\Sites\New_Erp\Pages\PM\revenuesummary.aspx.cs:111 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +118 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +112 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563 Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1
Friday, June 28, 2013 2:48 AM -
User1664383723 posted
I tryed all the solutions but ,I couldn't resolve the issue yet.
Kindly help me out
Monday, July 1, 2013 12:45 AM