首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

System.UnauthorizedAccessException: 拒绝访问,asp.net操作Excel对象出错

2014-01-28 
在做一个excel导入oracle的功能 运行 Microsoft.Office.Interop.Excel.Application excel new Microsoft.

在做一个excel导入oracle的功能
运行
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application ();
出错,错误提示
:说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.UnauthorizedAccessException: 拒绝访问。

ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate= "true "/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。

若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择'属性',然后选择'安全'选项卡。单击'添加'添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。

我添加的com组件Microsoft Excel 11.0 Object Library
路径是: C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE
我把asp.net帐户添加进去,并且有全部权限,可是问题还是没解决,请问我要如何做?

------解决方法--------------------------------------------------------
给个提示:确定要导入的 excel 为真正的excel 文件。
我也做过类似的 SQLSERVER 的数据导入,因为导入的 excel 是通过程序导出的文件,
却不是真正的 excel 文件,所以出现过很多奇奇怪怪的错误。
------解决方法--------------------------------------------------------
请正确配置ASP.NET的运行权限。它可以访问excel的dll吗?

如果你对com不了解,可以先给asp.net授管理员权限,看问题是否解决。
------解决方法--------------------------------------------------------
要设置权限:从 "开始 " -运行-dcomcnfg-在应用程序中选择Microsoft
Excel 应用程序,点击其属性.在常规中的'应用程序'中选择'无'。选择'安全性'分别选择
'使用自定义访问权限(S)'和'使用自定义启动权限(M)',然后选择编辑,添加Everyone用户。选择
'身份标识'中的'交互式用户'


------解决方法--------------------------------------------------------
开始-〉运行-〉dcomcnfg
打开组件服务后
进入到计算机-〉DCOM配置-〉Microsoft Excel 应用程序 右键属性。
在'安全'中将'启动和激活权限''访问权限'和'配置权限',这三项全部选为 自定义,并且添加Everyone用户就可以了。
 

        

热点排行