我们在其中一个报告服务器上遇到了一个非常奇怪的问题(在Windows 2008服务器上的IIS中运行.Net 4的Crystal Reports)。尝试运行报告时,我们收到错误消息“加载报告失败”,其内部异常为“文件名无效”。这几个月刚刚开始,多年来一直运作良好。
我已经在网上查了一下,我找到的所有建议都被尝试无济于事。关于这个问题的一些注意事项:
我尝试了一些修复程序(不一定按此顺序):
有没有人有任何其他建议我们可以看看这个问题?我的直觉告诉我,仍有一些挥之不去的权限问题,但我找不到它。
根据要求,以下是发生错误的一些代码:
Private Sub OpenReportFile()
Dim reportPath As String = System.Configuration.ConfigurationManager.AppSettings("ReportFileLocation")
If _reportDefinition Is Nothing Then Exit Sub
_theReport = New CrystalDecisions.CrystalReports.Engine.ReportDocument
_theReport.Load(reportPath & _reportDefinition.ReportFilePath, OpenReportMethod.OpenReportByTempCopy)
End Sub
_theReport.Load上会抛出错误。
AppSettings(“ReportFileLocation”)包含.rpt文件所在的基本文件夹(D驱动器上的本地路径)。
_reportDefinition是一个包含特定报告路径的本地域对象。
当两者合并时,reportPath的值将是本地路径,如“D:\ Inet \ docroot \ WebCrystal \ Reports \ MyReportFile.rpt”
每个报告都会出现此问题。