我们正在使用SAP Integration KIT和Crystal Reports 2008. Crystal Reports正在Winform(VB.net Windows应用程序)上显示(VS 2005 with net fx 2.0)。
开发环境是32位,一切正常。报告正在与本地BI服务器一起使用。问题出在Production Server中。生产服务器是64位。
在任何配置上都可以安装Windows exe。
“SAP Integration KIT和Crystal Reports 2008”安装了32位版本。
在打开水晶报告时,这是一个例外:
错误:“尝试加载Crystal Reports运行时时出错。可以使用Crystal Reports注册表项权限 不足,或者未安装Crystal Reports运行时 正确。请安装相应的Crystal Reports 包含正确版本的可再发行(CRRedist * .msi) 需要Crystal Reports运行时(x86,x64或Itanium)。
为此,我们使用corflag.exe工具将32位标记我们的exe更改为32位+。删除了上述错误,并发生以下新错误。我们检查了临时文件夹/报告文件夹等的许可,一切都很好。我们被困在这里。一点帮助/指导可以节省我们的周末:)。
类型:CrystalDecisions.Shared.CrystalReportsException, CrystalDecisions.Shared,Version = 12.0.2000.0,Culture = neutral, PublicKeyToken = 692fbea5521e1304消息:加载报告失败。资源 : CrystalDecisions.CrystalReports.Engine帮助链接:数据: System.Collections.ListDictionaryInternal TargetSite:Void EnsureDocumentIsOpened()Stack Trace:at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() 在CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename,OpenReportMethod openMethod,Int16 parentJob)at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(字符串 文件名)在BizzCare.frmReportViewer.frmReportViewer_Load(对象 发件人,EventArgs e)
其他信息:
MachineName:xxx
TimeStamp:6/14/2012 7:50:15 AM
FullName: Microsoft.PracticesEnterpriseLibrary.ExceptionHandling, Version = 3.1.0.0,Culture = neutral,PublicKeyToken = null
AppDomainName:abc.exe
ThreadIdentity:admin
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对象库。 来源:分析服务器 帮助链接: ErrorCode:-2147217397 数据:System.Collections.ListDictionaryInternal TargetSite:Void Open(System.Object ByRef,Int32) 堆栈跟踪:在CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath,Int32选项) 在CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath,Int32选项) 在CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()
答案 0 :(得分:0)
此问题是由于在开发环境中使用并安装在生产环境中的运行时版本不同。
混淆是因为默认情况下安装的“Crystal Report 2008 SP1”必须手动删除/卸载“(因为这提供了旧版本的DLL),然后必须安装正确的运行时从Microsoft站点手动下载。
答案 1 :(得分:0)
我们已经解决了这个问题。
存在运行时版本差异,报告是使用12.1.xxx版本的水晶报告设计的(因为SAP为dev env提供了最新版本),Visual Studio 2008提供了10.x.xx
将作为安装程序的一部分进行部署的版本。我们已经下载了12.1.xxx版本cr120_redist_install.zip并在部署服务器上安装了它并且可以工作..