为什么 VS 2008 的 Crystal Reports 会抛出“加载报告失败”。 COMException:报表应用程序服务器失败”当发送报告到打印机时?

发布于 2024-08-05 15:33:18 字数 1507 浏览 1 评论 0原文

我有一个 .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,但它到处都失败了。每次升级,情况都会变得更糟。

  1. 我应该创建一个新的 Windows 服务,而不是使用通过升级向导升级到 vs2008 的项目吗??

  2. 您认为我的 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.

  1. Should I create a new windows service rather than using the project that went through the upgrade wizard to vs2008??

  2. 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

北音执念 2024-08-12 15:33:18

您运行的用户是否具有打印机的访问权限?这可能会导致此错误。

Does the user that you are running under have access privileges to the printer? That could cause this error.

月牙弯弯 2024-08-12 15:33:18

您没有清除内存中的对象,它会崩溃,请尝试在使用后处置该对象。

You're not clearing your objects on memory, the it crash, try to dispose the object after you used.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文