zoukankan      html  css  js  c++  java
  • 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。

    错误描述:当在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,然后在web.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位操作系统,点击“文件”,然后保存。

  • 相关阅读:
    SQLAlchemy
    Redis
    Django框架详解
    nginx负载均衡(反向代理)
    Python 字典 fromkeys()方法
    docker容器的使用
    keepalived原理
    学习区块链必读的6本书
    MATLAB基础入门笔记
    思念是一种美丽的孤独
  • 原文地址:https://www.cnblogs.com/hongbi/p/8093649.html
Copyright © 2011-2022 走看看