Crystal Reports挂起.Load事件

2020-09-05 10:34发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我们正在Windows...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我们正在Windows环境(2008 R2)上使用CR 2011,并运行以下工作流程。

1。 我们创建了一个包含9个子报告的rpt。

2。 我们想将端口打印到特定打印机,因此在报告上设置了标志

3。 该应用程序是基于Windows的应用程序,而不是基于Web的应用程序。

4。 我们通过启动报告并在所需的打印机上进行打印来测试报告。

5。 我们有一个Windows服务,该服务执行读取报告并将其打印为pdf/打印机的代码。

6。 步骤4是基于事件的活动,每2分钟发生一次。

7。 数据库是Oracle 11g

问题:

1。 通常,所有程序运行良好,但是每天挂起一次/两次。

2。 我们已经创建了一个转储文件,并观察到挂起发生在.LOAD事件上。

3。 我们正在将.LOAD与报告名称的单个参数一起使用。

4。 我们还观察到后台打印程序服务挂起

5。 我们将在打印报告后立即处理它。

出现问题后,我们被迫启动Windows服务和打印机后台处理程序服务。

迄今为止尝试过的解决方案:

1。 更改"无打印机"标志不会产生任何结果。

2。 我们创建了一个作业,该作业在30分钟后会重新启动Windows服务和后台打印程序服务。 -这样可以最大程度地减少发生,但不能消除问题。

伪代码:

ReportDocument CR =新的ReportDocument()

CR.Load(<报告文件名);

//设置主数据源

CR.Database.Tables [0] .SetDataSource(ADODB.Recordset)

//设置子报告

CR.Subreports []。Database.Tables [0] .SetDataSource(数据表)

//此处在默认打印机或设置的打印机上打印。 (打印机是UNC打印机,但是我们会对其进行注册-它们在给定计算机上作为本地打印机可见-在打印之前在本地)

CR.PrintToPrinter(noOfCopies,false,fromPage,toPage);

CR.Close()

CR.Dispose()

如果需要,我们还可以提供rpt文件和任何其他详细信息。

我们的客户确实为此蒙受了痛苦,任何帮助将不胜感激。

谢谢

Anil

6条回答
Cikesha
2020-09-05 11:27

更多信息..

我们没有适当的多线程或并行处理。

我们依次加载,打印和销毁报表实例。

但是,此周期每3分钟运行一次,大约有20份报告要按顺序打印。

因此,问题将是……我们如何用尽CPL?

br

Anil

一周热门 更多>