• 【转】检索 COM 类工厂中 CLSID 为 {0002450000000000C000000000000046} 的组件时失败,8000401a错误解决方案


    在编写生成Excel 程序在win 20003 运行里,遇到了“检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 8000401a。 的错误.”问题,在网上主要解决办法为两种:

    1、http://support.microsoft.com/kb/288366

    2、 解决方法如下:

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

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

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

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

    用程序属性"对话框

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

    6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加

    一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动""本地激活"权限.

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

    SERVICE"用户,然后赋予"本地访问"权限.

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

    注意:这是在WIN2003上配置的,在2000,xp上,是配置ASPNET用户

    由于EXCEL是在服务器上打开的,所以应该写一个把导出数据保存在服务器上,然后再传递给客户端的方法,最后每次调

    用这个功能的时候再删除以前在服务器上所生成的所有Excel

    ----------

    我的结果以上两种方法,都不行。

    参考多数资料:

    简单的记录下自己我解决方法:

    1、创建一个用户账号,设置所属于Power User或者User、直接用系统登陆帐号和密码也行;

    2、运行DCOMCNFG,在Dcom组件里面找到Microsoft Excel 应用程序或者Microsoft excel文档-属性-标识里面选择“特定用户”,然后输入前面建立的帐号和密码就可以了;

    3、在web.config配置文件里添加一个支点<identity impersonate="true" userName="登陆帐号" password="密码"/>即可;

  • 相关阅读:
    【WebSocket】Qt客户端
    【WebSocket】入门教程(JS)
    【C++ 压缩&解压缩 开源库】ZIP入门使用总结
    【C++ JSON 开源库】nlohmann入门使用总结
    OSS C++ SDK使用总结
    解决Element中table文字过多换行问题
    Xmind安装报错
    Object.assign()
    mousedown、mouseup、click
    el-table 动态控制表格高度
  • 原文地址:https://www.cnblogs.com/SALIN/p/1947824.html
Copyright © 2020-2023  润新知