仅在64位可执行文件上“缺少参数值”异常

时间:2012-10-30 13:00:17

标签: c# visual-studio-2010 crystal-reports 32bit-64bit

我有一个用C#(Visual Studio 2010)编写的使用Crystal Reports(13.0.2000.0)的应用程序

当我编译x86平台的代码时,一切正常。编译为64位的相同代码在Export()上失败为PDF。

我按以下方式分配参数:

ListReport.AddParameter(“p_UserObjectID”,objectId.ToString());

ListReport.ApplyParameters();

我正在使用的库:

CrystalDecisions.CrystalReports.Engine (13.0.2000.0)
CrystalDecisions.ReportSource (13.0.2000.0)
CrystalDecisions.Shared (13.0.2000.0)

堆栈跟踪:

<CrystalDecisions.CrystalReports.Engine.ParameterFieldCurrentValueException>

  <Message>Missing parameter values.</Message>

  <StackTrace>
    <Frame>CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e)</Frame>

    <Frame>CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext)</Frame>

    <Frame>CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportToStream(ExportRequestContext reqContext)</Frame>

    <Frame>CrystalDecisions.CrystalReports.Engine.FormatEngine.Export(ExportRequestContext reqContext)</Frame>

    <Frame>CrystalDecisions.CrystalReports.Engine.ReportDocument.Export(ExportOptions options)</Frame>

    <Frame>Fsm.Business.BLReport.CRWFunctions.CRWExport(ReportDocument CRWRpt, CrwExportOptions crwExportOpt, String filename)</Frame>

  </StackTrace>

  <System.Runtime.InteropServices.COMException>

    <Message>Missing parameter values.</Message>

    <StackTrace>

      <Frame>CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass.Export(ExportOptions pExportOptions, RequestContext pRequestContext)</Frame>

      <Frame>CrystalDecisions.ReportSource.EromReportSourceBase.ExportToStream(ExportRequestContext reqContext)</Frame>

    </StackTrace>

  </System.Runtime.InteropServices.COMException>

</CrystalDecisions.CrystalReports.Engine.ParameterFieldCurrentValueException>

任何想法/线索/暗示我可以错过什么?

1 个答案:

答案 0 :(得分:0)

报告具有应为其提供值的参数。

代码无法导出,因为报表无法填充参数值。

从此处拉出:https://archive.sap.com/discussions/thread/3228829