.净水晶报告的印刷上运行的应用程序termianal服务连接的错误,当届会断开
-
03-07-2019 - |
题
我已经创建了一个.网应用程序的运行于一个应用程序服务器获取请求的一份报告,并打印出所要求的报告。
C#应用程序使用晶报告载的报告和随后打印出来。
应用程序运行在服务器连接以通过远程桌面连接在一个特定用户账户(所需的旧应用程序).当我离开远程会议的应用程序的开始抚养的例外情况,例如:
信息:CrystalDecisions.共享。CrystalReportsException:载报告失败
这种类型的错误是从来没有提出了当的远程会议是积极的。服务器上运行的应用程序正在运行的Windows服务器2003,我框创造连接是Windows XP。
我理解这是相当奇怪,但是我看不到任何应用程序的问题,部署,我们创建的。
任何人都不会知道可能是什么原因这个问题?
编辑:我的位子弹和创建的应用程序作为windows服务,显然这并不需要很长时间我只是不相信它会解决这个问题。无论如何它不!!!
我们也试图消除多线程代码,打电话是打印功能是异步的。我这样做是为了简单的应用程序,并缩小的原因,它可能会失败。无论如何,这没有改善情况。
编辑:两个错误我是:
系统。运行时间。InteropServices.COMException (0x80000201):无效的打印机 指定。在 CrystalDecisions.ReportAppServer.控制器。PrintOutputControllerClass.ModifyPrinterName(String newVal)在 CrystalDecisions.CrystalReports.引擎。打印选项.set_PrinterName(String 值) 每日生活津贴。打印服务器.服务。服务。PrintCrystalReport(报告 报告)
打印机并不是无效,这是确认时60秒后时刻度和报告的印刷的成功。
和
该请求不能提交 后台处理。在 CrystalDecisions.ReportAppServer.控制器。ReportSourceClass.GetLastPageNumber(RequestContext pRequestContext)在 CrystalDecisions.ReportSource.EromReportSourceBase.GetLastPageNumber(ReportPageRequestContext reqContext)--端的内心 例外堆栈---在 CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(例外 e)在 CrystalDecisions.ReportSource.EromReportSourceBase.GetLastPageNumber(ReportPageRequestContext reqContext)在 CrystalDecisions.CrystalReports.引擎。FormatEngine.PrintToPrinter(Int32 nCopies,布尔核对、Int32 startPageN,Int32endPageN)在 CrystalDecisions.CrystalReports.引擎。ReportDocument。PrintToPrinter(Int32 nCopies,布尔核对、Int32 startPageN,Int32endPageN)在 每日生活津贴。打印服务器.服务。服务。PrintCrystalReport(报告 报告)
编辑:
我跑filemon检查,如果有任何访问的问题。在这点,当时发生的错误的文件mon报告
请求:开|Path:C:\windows\assembly\gac_msil\system\2.0.0.0__b77a5c561934e089\ws2_32.dll |结果:找不到其他:属性的错误
解决方案
我们的特殊问题已经解决了。基本上,在创建报告时,它们会保存有关打印机的信息。基本上,已为报告设置了特定的打印机并保存。
此打印机不再存在,这就是报告开始失败的原因。基本上我们必须打开报表设计器并删除报表中与打印机的任何关联。
其他提示
我们遇到的这些错误的数倍,在过去的几年里。很多时候,我希望对于一些更具体的错误信息。
首先,我要验证没有多晶的报告版本的安装。在我们的豁达,我们发现了那个水晶的报告9.0似乎没有发挥好10。卸载的版本,9个似乎有助于我们的一些客户。如果两个都安装了,我highlly建议卸载 既, 然后重新安装水晶报告10中。
我们最初的水晶报告的错误是可怕的"请求不能提交的背景下处理"。 报告将正常工作一段时间,然后突然他们就会停止。之后的寻找的代码,我找到了一个地方在那里我们不处理的一个ReportDocument。正确处理这个文件固定的问题。
最近,我们击中一个吐口水的"请求不能提交的背景处理。"和"无效的打印机"的错误。一个客户的服务器了几个网络打印机所定义的IP地址。印刷会的工作只是现一段时间,然后突然之间, bam, 客户得到了"无效的打印机"的错误并呼吁我们的支持。
一个同开发的固定"无效的打印机"问题通过做所有的以下事情:
- 编辑和保存的。rpt文件在Visual Studio2005年。我们一直保持的报告格式兼容的晶报告9中,因为我们希望我们的改变将可分发给我们的客户仍然使用旧版本。
- 保存晶报告的文件"没有打印机"的选项。从Visual Studio2005年菜单中选择晶报告/设计/设置的打印机,然后选择"没有打印机"检查箱。
- 我们改变了一个公式,显示"页面N M"从一些奇怪的事情是这样的:
"Page " + Left (CStr (PageNumber), Length (CStr (PageNumber)) - 3) +
" of " + Left (CStr (TotalPageCount), Length (CStr (TotalPageCount)) - 3)
这样的:
"Page " + CStr(PageNumber,0) + " of " + CStr(TotalPageCount,0)
不幸的是,我不知道哪些(任何或所有)的上述行动可能会固定的错误。我说"可以",因为对于我所知道的,错误的神奇走了,因为一些网络的变化。
最后,你有没有读 这个白色的纸? 虽然它不一定能解决我们的问题,这是非常有趣的。
如果为应用程序创建窗口服务包装器,则意味着无论用户是否登录,它都将继续运行。它也可以设置为自动启动。我认为,因为您使用的是实际的应用程序,而不是Windows服务,所以当您在服务器上注销会话时,它实际上并没有运行。
以下是代码项目的示例:
您确定要“断开”远程会话而不是“注销”。我一直将会话断开连接到nt服务器2003并继续运行一切正常。另一方面,注销会终止在该会话中运行的应用程序。
你的o / s服务器在运行什么?
为了解决您所描述的问题,您需要关注问题所在。
我收到了 消息:CrystalDecisions.Shared.CrystalReportsException:加载报告失败 多次,这是因为您无法访问该报告。要么它不存在,要么在您的情况下,您没有连接到机器。该错误不是由于任何打印相关。
我有一个类似于此的模糊问题,除了它是Excel的(震惊 - 恐怖)自动化问题。当我连接远程桌面会话时,我发现应用程序工作正常,但一旦断开连接,就会出现与默认打印机相关的自动化错误。
我认为问题与您使用远程桌面连接时如何设置默认打印机有关。假设您有一个用于启动远程桌面会话的.rdp文件,如果您进行编辑,则选择“本地资源”。选项卡,您可以查看是否在远程会话中共享本地打印机。
如果启用,则表示连接时,本地默认打印机将成为远程计算机上的默认打印机。断开连接时,应用程序的默认打印机仍可能从本地计算机引用现在不可用的默认打印机。
您应该能够通过取消选择“本地资源”中的“打印机”复选框来确保您不共享本地打印机来解决此问题。标签
更简单的解决方案是禁用“打印机重定向”。在服务器上。请参阅 https://serverfault.com/questions/5646/how -do-i-disable-remote-printers-using-group-policy 获取更多信息。
如果您正在详细了解如何
在布尔场上的水晶报告中添加复选框,如果布尔字段为假
取消选中其他选中此文章的复选框
http://checkboxcrystalreport.blogspot的.com / 2009/07 /打印复选框合晶体报告-for.html
经过长时间的谷歌搜索,我发现这个链接但没有尝试,因为没有任何其他免费服务器。
http://www.microsoft.com/technet/security /bulletin/ms04-017.mspx