【问题标题】:Crystal Report Permission Issue水晶报表权限问题
【发布时间】:2016-06-07 13:03:17
【问题描述】:

我们正在使用 Crystal Report 导出到 PDF 功能。 下面是代码示例

Dim rptDoc As New ReportDocument
rptDoc.Load(AppConfig.SitePath + "Form201.rpt")

ExportOptions rptExportOption;
DiskFileDestinationOptions rptFileDestOption = new DiskFileDestinationOptions();
PdfRtfWordFormatOptions rptFormatOption = new PdfRtfWordFormatOptions();
string reportFileName = filePath;
rptFileDestOption.DiskFileName = reportFileName;
rptExportOption = rptDocument.ExportOptions;
rptExportOption.ExportDestinationType = ExportDestinationType.DiskFile;
rptExportOption.ExportFormatType = ExportFormatType.PortableDocFormat;
rptExportOption.ExportDestinationOptions = rptFileDestOption;
rptExportOption.ExportFormatOptions = rptFormatOption;

rptDocument.Export(rptExportOption);

我们已向临时文件夹中的每个人授予写入权限。并授予服务器C盘上的每个人的读取和执行权限。通常它工作正常,但在一周或 10 天内,我们突然开始出错。

加载报告失败。

文件名无效。

在 CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() 在 CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(字符串文件名,OpenReportMethod openMethod,Int16 parentJob) 在 CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(字符串文件名) 在 Testfile.GeneratePDF(Int32 cmpid)

这是导致错误的行

rptDoc.Load(AppConfig.SitePath + "Form201.rpt")

当我们为服务器C盘上的每个人重新申请读取和执行权限时 问题已解决。

请建议我们缺少哪些权限,因为此问题每 7 到 10 天就会再次出现。任何帮助将不胜感激。

【问题讨论】:

  • 是内部应用吗?如果是这样,请与 sys/web 管理员一起检查安全策略更新。
  • 您有其他可以写入的驱动器吗?即使它是带有驱动器D的闪存驱动器?我认为@Sami 走在正确的轨道上,您的权限被覆盖了。正在写入的文件是哪个目录?对安全权限进行截图,然后在报告无法写入文件夹时再次检查。权限是否不同,尤其是父安全性。
  • 报告文件位于 C:\inetpub\vhosts\www.abc.com 等网站之一。我们已经对 Windows 临时文件夹应用了每个人的权限..这并没有被删除。为了使水晶报告工作,我们需要在系统驱动器上设置读取权限,比如我的 C 驱动器。我们不确定我们还需要在哪里放置偶尔会被删除的权限(每周左右)

标签: asp.net crystal-reports-xi crystal-reports-server


【解决方案1】:

错误消息显示“文件名无效”。您应该考虑到您的路径可能格式不正确。

AppConfig.SitePath 中的值是什么?

尝试使用Path.Combine,如下所示:

var reportPath = System.IO.Path.Combine(AppConfig.SitePath, "Form201.rpt");
rptDoc.Load(reportPath);

这应该确保您的路径正确形成。

【讨论】:

  • 感谢您的建议,但无论哪种方式,站点路径都是正确的,否则它总是会出现该错误。但正如我所提到的,它可以正常工作,没有任何问题。 10 天一次,我们突然开始收到错误。所以报告路径似乎不是问题。
猜你喜欢
  • 2010-09-22
  • 2010-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多