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

问题描述 投票:1回答:1

我有一个用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>

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

c# visual-studio-2010 crystal-reports 32bit-64bit
1个回答
0
投票

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

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

拉从这里:https://archive.sap.com/discussions/thread/3228829

© www.soinside.com 2019 - 2024. All rights reserved.