为什么 VS 2008 的 Crystal Reports 会抛出“加载报告失败”。 COMException:报表应用程序服务器失败”当发送报告到打印机时?
我有一个 .NET Windows 服务,上面有一个水晶报表查看器。当它轮询数据库并找到实时订单时,它将向网络上的打印机发送报告。这是Windows2003服务器64位。我已在 Visual Studio 安装中找到的 64 位服务器上安装了 msi:
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports10_5\CRRedist2008_x64.msi
。
我遇到这个错误的次数太多了,有时每天会出现 3-4 次。我不得不承认这是一个最初用 VB6 和 cr8.5 编码的项目。我最终升级到了 vs2003,最终升级到了 64 位 .net 2.0,但它到处都失败了。每次升级,情况都会变得更糟。
我应该创建一个新的 Windows 服务,而不是使用通过升级向导升级到 vs2008 的项目吗??
您认为我的 1.1 Web 应用程序在同一服务器上运行的 32 位水晶版本的 msi 是否存在冲突?是的,iis6 暂时以 32 位模式运行...这是一个旧报告,但我确实将其升级到 10.5。帮助!
这是堆栈转储:
默认异常:CrystalDecisions.Shared.CrystalReportsException:加载报告失败。 ---> System.Runtime.InteropServices.COMException (0x80004005):报表应用程序服务器失败 在 CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(对象和 DocumentPath,Int32 选项) 在 CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(对象和 DocumentPath,Int32 选项) 在 CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() --- 内部异常堆栈跟踪结束 --- 在 CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() 在 CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(字符串文件名,OpenReportMethod openMethod,Int16 ParentJob) 在 CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(字符串文件名) 在 PickTicketServer.PickTicketServer.PrintPickTicket(Int64 INlngOrderID、布尔型 INblnPickOrPack、Int64 INlngCompanyID)
I have a .NET Windows service that has a crystal report viewer on it. when it polls the db and finds live orders, it will send a report to a printer on the network. this is Windows2003 server 64bit. I have installed the msi on the 64bit server found in my Visual Studio install:
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports10_5\CRRedist2008_x64.msi
.
I get this error too much, sometimes 3-4 times per day. I do have to admit it was a project originally coded in VB6 and cr8.5. I finally upgraded to vs2003 and eventually 64bit .net 2.0 and it's failing all over the place. With each upgrade it gets worse.
Should I create a new windows service rather than using the project that went through the upgrade wizard to vs2008??
Do you think there is conflict with the msi from the 32bit version of crystal running on the same server for my 1.1 web applications? yes, iis6 is running in 32 bit mode temporarily... it is an old report, but I did upgrade it to 10.5. help!
Here's the stack dump:
Default Exception:CrystalDecisions.Shared.CrystalReportsException: Load report failed. ---> System.Runtime.InteropServices.COMException (0x80004005): The Report Application Server failed
at CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options)
at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options)
at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()
--- End of inner exception stack trace ---
at 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 PickTicketServer.PickTicketServer.PrintPickTicket(Int64 INlngOrderID, Boolean INblnPickOrPack, Int64 INlngCompanyID)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您运行的用户是否具有打印机的访问权限?这可能会导致此错误。
Does the user that you are running under have access privileges to the printer? That could cause this error.
您没有清除内存中的对象,它会崩溃,请尝试在使用后处置该对象。
You're not clearing your objects on memory, the it crash, try to dispose the object after you used.