点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我有一个Windows 2012 64位服务应用程序(内置于c#VS2010中,CR引擎版本v2.0.0.50727),除其他一些任务外,该应用程序还从非结构化文件中解析文本,创建Crystal报表,然后自动保存该报表 作为PDF到磁盘。 此过程可以正常运行约12个小时,然后在调用CReport.Export()时突然开始生成错误。 错误是"对象引用未设置为对象的实例"。 如果我将服务帐户切换到其他用户,则它将再次开始工作约12个小时(可能有一定数量的导出),然后开始产生错误。 停止和启动服务没有任何作用,用户根本无法再调用导出方法。 我已经用GUI调用了相同的代码来复制了此代码。 看来用户达到了报告导出的最大数量,然后无法再导出报告。 下面是用于生成报告的代码(为简洁起见,对其进行了重新键入),非常感谢您的帮助!
对象报告=新的Reports.ExportContent(); ReportDocument crReportDocument =(Reports.ExportContent)报告; crReportDocument.SetDataSource((DataTable)contentReport.Content); 流crIn = crReportDocument.ExportToStream(ExportFormatType.PortableDocFormat); //此调用在为用户导出了一定数量后开始失败 FileStream crOut =新的FileStream(outputinfo) //创建一个缓冲区 //有一些数据时先写入缓冲区,然后写入文件 //关闭文件流 //一些错误捕获 //最后 crReportDocument.Close(); crReportDocument.Dispose(); 收集
您正在使用什么SP? 那不应该发生吗?
该数字是框架,您使用的是哪个Service Pack? 在"程序和功能"中,并列出了实际版本。
https: //wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads
没有限制,但您可能会用完资源。
为什么要导出到流?
尝试一下:
唐
嗨唐。 谢谢回答。 我实际上能够弄清楚发生了什么。 即使我正在关闭报告并进行处理,AppData \ Temp文件夹中仍存在.tmp文件。 每创建8个文件,就会有一个文件存在。 一旦达到65K CR左右的文件数量,就不再创建临时文件并可能会产生错误。 处理后,我添加了一些代码以从Temp文件夹中清除.tmp文件,从而达到了目的。 再次感谢!
一周热门 更多>