水晶报表拒绝访问

拒绝访问。

 

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Runtime.InteropServices.COMException: 拒绝访问。

源错误: 

行 32:         string reportPath = Server.MapPath("test.rpt");
行 33:         string rtPath = Server.MapPath("XMLSchema2.xsd");
行 34:         customerReport.Load(reportPath);        
行 35:         //DataSet dataSet = DataSetConfiguration.CustomerDataSet;
行 36:         //DataSet dataset = DbHelperSQL.Query(sql);

源文件: c:/Inetpub/wwwroot/DataSets/report.aspx.cs    行: 34 

堆栈跟踪: 

[COMException (0x80004005): 拒绝访问。
]
   CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) +0
   CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) +144
   CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +526

[CrystalReportsException: 加载报表失败。]
   CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +621
   CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob) +1969
   CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename) +186
   _report.ConfigureCrystalReports(String sql1, String sql2, String check) in c:/Inetpub/wwwroot/DataSets/report.aspx.cs:34
   _report.Page_Init(Object sender, EventArgs e) in c:/Inetpub/wwwroot/DataSets/report.aspx.cs:334
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
   System.Web.UI.Control.OnInit(EventArgs e) +99
   System.Web.UI.Page.OnInit(EventArgs e) +12
   System.Web.UI.Control.InitRecursive(Control namingContainer) +333
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +378

 

 

用vs 2008 自带的水晶报表开发的。本来在本地和部署到服务器是没有问题的。昨天本机突然就不行了。我没有搞任何代码,所以报表程序是没有问题的。问题一定出在电脑(环境)上。网上没找到解决方法,自己就一直实验……就差没重装系统了。

终于发现原来是temp 文件夹没有权限,C:/WINDOWS/temp,水晶报表在生成的过程中需要创建缓冲文件,这些缓冲文件都会生成到系统默认缓冲区中。所以这个temp文件夹必须要要给IIS登陆账号一个可写权限,否则将会报错。

解决办法:找到系统指定的缓冲文件夹(C:/WIONDOWS/TEMP)(可以在环境变量中查看),然后点击属性->安全->组和用户名称->User权限 设置相应的权限,我给了个完全控制的权限。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值