检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败,报错误 80070005

本文介绍了解决在服务器环境下使用Excel导入功能时遇到的错误80070005问题的方法,包括安装Office、配置DCOM权限及IIS设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写的网站需要一个功能是:上传excel文件,然后解析excel文件,并将excel文件中的内容通过sqlbulkcopy功能导入到数据库中。通过使用ajax技术,我们不仅实现了功能,而且界面也美化的不错。


但是由于测试都是在vs自带的iis服务器,所以我们的测试最初也都是在这个自带的iis服务器上进行。而这期间vs没有报任何错误,也就是说,开发阶段这功能是没有问题的,但是当我们部署在服务器上之后,它就不正常了,报的错误是检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败,报错误80070005


这肯定不是代码的问题,因为如果是代码问题,那么在调试阶段这个功能也不会正常,所以我觉得应该是权限配置的问题。


通过我们查找相关资料,通过如下步骤解决了这个问题:


1:在服务器上安装office的Excel软件. 
2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务" 
3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置" 
4:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"MicrosoftExcel 应用程序属性"对话框 
5:点击"标识"标签,选择"交互式用户" 
6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORKSERVICE"用户 ,并给它赋予"本地启动"和"本地激活"权限. 

7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORKSERVICE"用户,然后赋予"本地访问"权限. 


通过上面的步骤,我们可以配置好Excel的DCOM权限。(如果上述行不通,则编辑“我的电脑”的默认权限,具体可以上网查询)


DCOM权限配置好之后,如果直接重启iis并且访问,则有可能出现文件无法访问或者文件路径不正确等异常。这是因为没有为DCOM组件添加IUSR用户权限和EVERYONE用户权限。只需要把这两个用户名添加至DCOM中并且设定可访问即可。


然后,我们重启iis服务器,并且重新生成项目,但是OleDbconnection又报了错误。这时只需要把应用程序池中的“启用32位应用程序”设置为 true就可以正常运行了。

















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值