环境:COGNOS 64 10.1.1 WINDOWs 硬件 8CPU 16G内存
背景:COGNOS报表在reportstudio中运行正常,以XLS,XLSX,CSV格式均能正常运行并弹出文件下载提示。
因项目需求,需要将在线等待下载的方式改为离线方式,因此考虑使用后台运行,邮件发送的方式实现。经过试验,发现Excel2007格式运行基本正常,且可以发送带数据附件的邮件,但尝试使用CSV格式附件发送邮件,发生了问题,详述如下:
实验步骤及问题:
1、在线等待方式生成CSV文件,最终可以运行出结果,但是提示下载的文件格式为XLS,且体积远大于正常CSV格式文件(例如正常通过PLSQL导出的CSV为15M,通过COGNOS导出的结果500M)。
2、离线邮件方式发送CSV格式附件(已经控制数据量在10000条以内,字段20个以内),邮件能接收到,也有附件文件,但大小为0,格式正常,是CSV。
3、离线邮件方式发送Excel文件,首先尝试小文件(数据量在10000条以内,字段20个以内),结果一般2-3M,且100%发送成功。尝试大文件(在线等待导出结果50M),接收邮件正常,附件文件存在,但大小为0,格式正常,是XLSX。
针对上述问题进行的分析及困难:
1、在IBM上找到解决方式:http://www-01.ibm.com/support/docview.wss?rs=3631&context=SSQJXN&dc=DB560&dc=DB520&uid=swg21338932&loc=en_US&cs=UTF-8&lang=en&rss=ct3631db2 对于10.1.1版本,应当是需要在服务端进行设置,但按此配置尚未成功。
2、因接收附件大小为零,且考虑到在线方式生成文件成功,因此怀疑是邮件发送环节有问题。因此在Administration中,调整邮件发送配置,首先将邮件附件大小设置为0(即无穷大),然后将文件压缩功能启用(设置邮件附件超过1M即进行压缩),然后用小XLSX文件进行测试,可以接收到zip格式压缩文件,测试成功。但使用CSV文件发送邮件,失败,文件格式CSV,大小为零。(考虑使用CSV格式并加压缩的办法,是因为CSV文件压缩效果比较明显,是为了解决大数据量导出的问题。)此问题尚未找到有效解决办法。
3、Excel文件如果大于文件附件,按照常理考虑,COGNOS应当在执行过程中记录发送邮件失败,但无论怎样结果都显示成功。因此查找IBM的官网文件,说这是正常现象,邮件大小原因造成的附件问题,就是附件大小为零。这种解释个人觉得没有把握。
目的:
请有经验的高手帮忙分析上述问题并建议解决方案。谢谢。
收起