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

Mar*_*ari 7 c# sql-server excel

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

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

我搜索了许多链接,他们说这可能是权限问题。因此,我按照堆栈溢出中提供的解决方案应用了以下内容,但是没有运气。

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

  2. 对我的域用户SQLServiceAgent应用了对目录Desktop的完全控制权限

我正在将SQL Server 2014和Win 2012 Edition与MS Excel 2007一起使用。

有人可以帮忙吗?

Mar*_*ari 7

我尝试了一下,它起作用了。我发现DCOM Config中缺少“ Microsoft Excel应用程序”。因此,我执行了以下步骤:

  1. 开始
  2. 毫米波-32
  3. 文件
  4. 添加删除管理单元
  5. 组件服务
  6. 控制台根
  7. 组件服务
  8. 电脑
  9. 我的电脑
  10. DCOM配置
  11. Microsoft Excel应用程序->右键单击->属性
  12. 在“安全性”选项卡上,对域用户和NT SERVICE \ SQLSERVERAGENT授予完全权限:启动和活动权限b。访问权限c。配置权限
  13. 在标识选项卡上->更改为交互式用户

而已。我运行了SQL作业,它成功了。