今天在报表导出测试时遇到这个问题 拒绝访问报表文件。其他程序可能正在使用它  搜了下查到是这个问题

给windows temp目录 加上 NETWORK SERVICE ASPNET 读写权限就可以了

在Windows XP / Windows Server 2003下开发asp.net程序,有细微区别,尤其体现在运行asp.net程序的帐号与权限分配上,以水晶报表运行时常出的错误为例:

异常详细信息:     CrystalDecisions.CrystalReports.Engine.LoadSaveReportException:     文件     C:/WINNT/TEMP/temp_6516f6db-0f2c-4ed4-8e26-2cf6b2ff5bf9.rpt     内出错:拒绝访问报表文件。其他程序可能正在使用它。

此问题是因为目标目录C:/WINNT/TEMP对于asp.net程序不可写造成的,解决办法将目录C:/WINNT/TEMP的写权限赋予运行asp.net的windows用户帐号即可,对于windows xp,将写权限赋给帐号ASPNET;而对于windows server 2003,则是将写权限赋给帐号ASPNET和NETWORK SERVICE。

以后,在考虑windows server 2003下运行asp.net程序的用户权限问题时,不要忘了NETWORK SERVICE,而不仅是ASPNET而已。

posted on 2011-10-17 16:09  万德源  阅读(1075)  评论(0编辑  收藏  举报