水晶报表周期性打开报表失败

故障描述:VS2005的水晶报表在WEB应用程序中多次使用后,就会出现加载报表失败.重启WEB服务器又正常了.过一段时间又出同样问题
开发水晶报表碰到这样的问题
1.已达到系统管理员配置的最大报表处理作业数限制。
   这个问题我以前发布过只需要修改注册表就可以. http://www.cnblogs.com/zhangpengshou/archive/2007/11/15/931433.html
2.用户使用水晶报表的时候出现加截报表错误.
   刚开始用户使用非常正常,但使用一天(该用户使用报表频率非常大)就会出现"报表加载失败",然后用户重启服务器这后又可以了,具体信息出错请看下截屏


  我发现在C:\WINDOWS\Temp这个临时文件里面有大量的水晶报表文件,每使用一次就会生成几个文件,在电脑没有重新启动的情况下它不会被删除,而出现大量的无用文件,在google里面搜了一圈发现也有人碰到这样的情况但回答的很模糊只是说要将水晶报表装载的文档关闭掉,从这里可以看出出现这样的错误应该是程序员人为照成的.

具体解决如下:
1.ReportDocumen实例必须为类成员

        private   ReportDocument   prtp   =   new   ReportDocument();       

2.使用完水晶报表必须关闭文件,这样子就不会在windows的临时文件里面产生.


        private   void   Page_Unload(object   sender,   EventArgs   e)
        {
                prtp.Dispose();
        } 
                         
Page_Unload   事件是在页面完全显示的时候运行,这样子就解决了.


按照此方法,导入导出excel操作的类似问题应该也可以用这个方法解决。

posted on 2007-12-06 11:15  一路前行  阅读(1635)  评论(3编辑  收藏  举报