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

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

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

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

    <identity impersonate ="true" userName="帐号" password="密码"/>
方法二:配置DCOM,使ASP.NET账号能有权限调用Excel COM组件。web

具体配置方法以下: 
一、在服务器上安装office的Excel软件. 
二、在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"编程

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

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


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


六、点击"肯定"、"应用",若是是64位操做系统,点击“文件”,而后保存。post

相关文章
相关标签/搜索