0

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

我已经在许多客户端机器上部署了该应用程序。直到最近才发现在其中一台机器中报告无法正常工作。

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

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

我在那台机器上注意到的一件重要的事情是没有 C 驱动器。windows 安装在 H: Drive 中。我不确定这是否会导致问题。

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

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. 重新安装了软件

谢谢,

4

2 回答 2

1

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

如果您将注册表项更新到正确的 H 驱动器位置,它应该可以工作。

于 2011-03-28T22:43:50.907 回答
0

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

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

至少,有必要修改以下字符串值:

  • 共同文件
  • 小路
  • 连接目录路径
  • 图表支持路径
  • 报告目录路径

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

要解决这些问题,Process Monitor 等实用程序将非常有用。

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

于 2012-03-23T21:26:30.540 回答