随笔 - 162  文章 - 0 评论 - 76 trackbacks - 8

无效的类别字符串

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

异常详细信息: System.Runtime.InteropServices.COMException: 无效的类别字符串

源错误:

行 88:                String ss=Server.MapPath("rpt\\S_CardTradeDayDetail.rpt").ToString();
            行 89:                CrystalReportSource1.ReportDocument.Load(Server.MapPath("rpt\\S_CardTradeDayDetail.rpt"), OpenReportMethod.OpenReportByTempCopy);
            


有一台服务器部署时出现这样的问题
权限问题
解决方法有几种
第1种.给asp.net帐号分配好访问com的权限,配置好com+
第2种.在web.config的system.web节加入
<identity impersonate="true" userName="具有管理员权限的帐号名" password="相应的密码"/>
来模拟一个具有管理权限的身份来运行你的代码

我使用了第二种方法,为什么在其他服务器上没有这个问题,可能是这个服务器权限设置过高,请知道的朋友解答一下。谢谢!

2008-4-11 我发现在用第二种方法也不行,第3种:给C:\WINDOWS\Temp 文件夹增加用户 NETWORK SERVICE ,并拥有修改权限。 //我想这是因为水晶报表要在C:\WINDOWS\Temp 产生临时文件的原因
posted on 2008-03-06 16:25 微星 阅读(...) 评论(...) 编辑 收藏