未处理的异常:System.Runtime.InteropServices.COMException(0x800A03EC)

时间:2016-02-26 02:51:40

标签: c# sql-server excel

我有一个导出Excel文件的C#应用​​程序。当我从Visual Studio运行它时,它工作正常。但是,当我将其安排从SQL Server代理程序运行时,它失败并出现以下错误:

  

未处理的异常:System.Runtime.InteropServices.COMException(0x800A03EC):由于没有足够的可用内存或磁盘空间,Microsoft Office Excel无法打开或保存更多文档。要提供更多可用内存,请关闭不再需要的工作簿或程序。要释放磁盘空间,请从要保存的磁盘中删除不再需要的文件。

我搜索了许多链接,他们说这可能是一个许可问题。所以我根据Stack Overflow中提供的解决方案应用了以下内容,但没有运气。

  1. 创建目录“C:\ Windows \ SysWOW64 \ config \ systemprofile \ Desktop”(适用于64位Windows)

  2. 对我的域用户的目录桌面应用完全控制权限,SQLServiceAgent

  3. 我在MS Excel 2007中使用SQL Server 2014和Win 2012 Edition。

    有人可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

我尝试了这个并且它有效。我找到了" Microsoft Excel Application"在DCOM配置中丢失。所以,我做了以下步骤:

  1. 开始
  2. 运行
  3. mmc -32
  4. 文件
  5. 添加删除管理单元
  6. 组件服务
  7. 添加
  8. 控制台根目录
  9. 组件服务
  10. 计算机
  11. 我的电脑
  12. DCOM配置
  13. Microsoft Excel应用程序 - >右键单击 - >特性
  14. 在“安全”选项卡上,为域用户和NT SERVICE \ SQLSERVERAGENT授予完全权限: 一个。启动和活动权限 湾访问权限 C。配置权限
  15. 在Identiy标签上 - >更改为交互式用户
  16. 那就是它。我运行了SQL作业并且成功了。