zoukankan      html  css  js  c++  java
  • failed due to the following error: 80070005解决办法.

    最近公司要求编写一个ASP.NET页面下的导出Excel功能,由于公司所用的是netadvantage控件,所以我采用了在服务器上打开一个Excel程序,写入数据,保存在服务器上,然后再传递给客户端的方法,最后每次调用这个功能的时候再删除以前在服务器上所生成的所有Excel.

    代码写完之后,在调试的时候可以完好运行,然而正式发布到WIN2003服务器上的时候,却出现了问题.

    Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005.

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

    在网络上查找了许多资料,原来是对于用户来说,对服务器上的文件的操作权限不够所引起的错误,要配置DCOM.

    具体配置方法如下:

    1:在服务器上安装office的Excel软件.

    2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"

    如果是2000 server 则 在弹出的窗口中选中  Microsoft Excel 应用程序 ,点击属性,然后依次点中自定义配置->添加->显示用户->aspnet ,注意最后一项选中完全控制即完成设置.

    3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"

    4:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框

    5:点击"标识"标签,选择"交互式用户"

    6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.

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

    这样,我们便配置好了相应的Excel的DCOM权限.

    注意:我是在WIN2003上配置的,在2000上,可能是配置ASPNET用户..我没有测试,你可以试一下.

  • 相关阅读:
    【转】高性能网络编程4--TCP连接的关闭
    Kubernetes 用了,延迟高了 10 倍,问题在哪?
    多路复用和多路分用
    网络七层模型与四层模型区别
    Go验证包出错 dial tcp 34.64.4.17:443: i/o timeout
    spring Bean配置的三种形式
    Spring容器IOC初始化过程
    Go 特殊语法
    服务发现的基本原理与比较:Eureka vs Consul vs Zookeeper
    docker 常用命令
  • 原文地址:https://www.cnblogs.com/ma/p/656459.html
Copyright © 2011-2022 走看看