我们正在使用 SAP Integration KIT 和 Crystal Reports 2008。Crystal Reports 显示在 Winform(VB.net Windows 应用程序)(带有 net fx 2.0 的 VS 2005)上。
开发环境是32位的,一切正常。报表正在使用本地 BI 服务器。问题出在生产服务器中。生产服务器是 64 位的。
Windows exe 可以安装在任何配置上。
“SAP Integration KIT and Crystal Reports 2008”安装的是32位版本。
在打开水晶报告时,出现以下异常:
错误:“尝试加载 Crystal Reports 运行时发生错误。Crystal Reports 注册表项权限不足,或者 Crystal Reports 运行时未正确安装。请安装适当的 Crystal Reports 可再发行组件 (CRRedist*.msi),其中包含需要正确版本的 Crystal Reports 运行时(x86、x64 或 Itanium)。
为此,我们使用 corflag.exe 工具将 exe 的 32 位标志更改为 32 位+。上述错误已被删除,并出现以下新错误。我们已经检查了临时文件夹/报告文件夹等的权限,一切都很好。我们被困在这里。一点帮助/指导可以节省我们的周末:)。
类型:CrystalDecisions.Shared.CrystalReportsException,CrystalDecisions.Shared,版本=12.0.2000.0,文化=中性,PublicKeyToken=692fbea5521e1304 消息:加载报告失败。来源:CrystalDecisions.CrystalReports.Engine 帮助链接:数据:System.Collections.ListDictionaryInternal TargetSite:Void EnsureDocumentIsOpened() 堆栈跟踪:CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob) at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename) at BizzCare.frmReportViewer.frmReportViewer_Load(Object sender, EventArgs e)
附加信息:
机器名称:xxx
时间戳:2012 年 6 月 14 日上午 7:50:15
全名:Microsoft.PracticesEnterpriseLibrary.ExceptionHandling,版本=3.1.0.0,文化=中性,PublicKeyToken=null
应用域名:abc.exe
线程身份:管理员
WindowsIdentity:comp\user 内部异常 --------------- 类型:System.Runtime.InteropServices.COMException,mscorlib,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089 消息:错误在文件 Last12MonthsSales{9D0A761A-8021-42E6-8ECF-CE2C0167F5B0}.rpt 中:无法登录到 Crystal Report 对象存储库。来源:分析服务器帮助链接:错误代码:-2147217397 数据:System.Collections.ListDictionaryInternal TargetSite:无效打开(System.Object ByRef,Int32)堆栈跟踪:在 CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath,Int32 选项)在 CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) 在 CrystalDecisions.ReportAppServer。