博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。...
阅读量:6567 次
发布时间:2019-06-24

本文共 1281 字,大约阅读时间需要 4 分钟。

错误描述:当在ASP.NET应用程序中引用Microsoft Excel组件,并在程序中调用时,部署到服务器上经常会遇到以下的错误:

检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005

编程环境:ASP.NET   C#

错误分析:这是因为Microsoft Excel作为一个COM组件默认只能被以下帐户激活:Administrator System Interactive。而当你访问的ASP.NET应用程序实际是以ASP.NET或Network Service群组帐户执行的。
解决方案:一般方法有两种:
方法一:为ASP.NET应用程序专门分配一个帐户,并保证该帐户在本地登陆时能正常的使用MICROSOFT Excel,然后在.config文件的<system.web>节下加上以下设置。

    <identity impersonate ="true" userName="账号" password="密码"/>

方法二:配置DCOM,使ASP.NET帐号能有权限调用Excel COM组件。

具体配置方法如下: 

1、在服务器上安装office的Excel软件. 
2、在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"

如果你是32位 操作系统:1.在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务";2.依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置";3.在"DCOM配置"中就能找到"Microsoft Excel 应用程序"

如果你是64位 操作系统:1.在"开始"->"运行"中输入  mmc -32 启动"控制台";2.文件--添加或删除管理单元;3. 在可用的管理单元选中“组件服务”---添加---确定;4.依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置";5.在"DCOM配置"中就能找到"Microsoft Excel 应用程序"

3、在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序"属性"对话框 
4、点击"标识"标签,选择"交互式用户" 
5、点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加"NETWORK SERVICE"用户(注意要选择本计算机名)和"IIS_IUSRS",并给它们赋予"本地启动"和"本地激活"权限;在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加"NETWORK SERVICE"用户和"IIS_IUSRS",然后给他们赋予"本地访问"权限.

6、点击"确定"、"应用",如果是64位操作系统,点击“文件”,然后保存

转载于:https://www.cnblogs.com/coce/p/8289952.html

你可能感兴趣的文章
PHP命令行参数
查看>>
2091操作系统引论
查看>>
应用程序已预编译,因此不允许使用目录“/App_Code/”
查看>>
软件工程第二次作业—结对编程1
查看>>
C++后台服务如何高效实现多个定时器任务
查看>>
图例解析四大UML关系【转】
查看>>
函数实现不放在头文件的原因,及何时可以放头文件的情况【转】
查看>>
MySQL This function has none of DETERMINISTIC, NO SQL...错误1418 的原因分析及解决方法
查看>>
关闭IE窗口
查看>>
MonoDB的数据准备
查看>>
tomcat和servlet关系
查看>>
深入理解java虚拟机,内存管理部分
查看>>
【转】一个lucene的官网例子
查看>>
Knockout2.x:ko.dataFor()、ko.contextFor()使用
查看>>
产品经理专业术语
查看>>
mysql常用语法
查看>>
HDU 1728 逃离迷宫(DFS经典题,比赛手残写废题)
查看>>
面向过程VS面向对象的理解
查看>>
iPhone中png图片格式处理(附:linux下alias命令详解)
查看>>
Iphone开发问题集
查看>>