繁体   English   中英

水晶报表-加载报表失败

[英]Crystal Report - Load report failed

我正在使用c#.net 2.0的Windows应用程序中使用Crystal Report(10.2.3600.0)。

我已经在许多客户端计算机中部署了该应用程序。 直到最近才发现该报告在一台机器上不起作用。

从日志文件显示以下错误-

StackTrace:位于CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename,OpenReportMethod openMethod,Int16 parentJob)处的CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()处CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename,OpenReportMethod openMethod)处FlexiPackOfficeAutomation.frmJobCardViewer.PopulateReportFields()InnerException:系统找不到指定的路径。

我在那台机器上注意到的一件事很重要,那就是没有C盘。 Windows安装在H:驱动器中。 我不确定这是否是导致问题的原因。

我用来加载报告的代码如下,

CrystalDecisions.CrystalReports.Engine.ReportDocument JobCard1 = new CrystalDecisions.CrystalReports.Engine.ReportDocument();


cFPWebService objWS = new cFPWebService();

//Get the Job Details from the Webservice
DataSet mDsJobDetails = objWS.ObjWebService.GetJobDetails_ForCrystalReport(this._JobID);

string FileName = "rassdk://" + Directory.GetCurrentDirectory() + @"\reports\JobCard.rpt";
//Load the Crystal Report File
JobCard1.Load(FileName, CrystalDecisions.Shared.OpenReportMethod.OpenReportByTempCopy);
//Set the reportsource of the Crystal Report Viewer as this JobCard
crvJobCard.ReportSource = JobCard1;

我在客户端计算机上尝试了以下操作

  1. 重新安装水晶报表运行时
  2. 重新安装软件

谢谢,

在整个注册表中搜索“ Crystal”。 您会发现一两个可能不正确的密钥,它们指向C驱动器上的v10 DLL。

如果将注册表项更新为正确的H驱动器位置,则应该可以使用。

在SAP找到了此故障排除文档 看起来好像有没有安装C:驱动器的部分。 相关部分:

缺少“ C:\\”驱动器该应用程序已部署到没有“ C:”驱动器的计算机上。 通过msm或msi文件安装Crystal Reports运行时时,某些注册表值将设置为指向C:驱动器。 若要解决此问题,请在注册表编辑器中修改注册表值。 ...

至少需要修改以下字符串值:

  • 共同文件
  • 路径
  • 连接目录路径
  • ChartSupportpath
  • ReportDirectoryPath

这些字符串值的位置取决于所使用的Crystal Reports版本。 在开发计算机上搜索注册表并研究适当的密钥。 在运行时计算机上根据需要进行修改。

要解决这些问题,使用诸如Process Monitor之类的实用程序将非常有用。

这不是我的问题,但这也许会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM