【问题标题】:Unhandled Exception: System.Runtime.InteropServices.COMException (0x800A03EC)未处理的异常:System.Runtime.InteropServices.COMException (0x800A03EC)
【发布时间】:2016-06-09 03:01:36
【问题描述】:

我有一个导出 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 应用目录桌面的完全控制权限

我正在使用 SQL Server 2014 和 Win 2012 版以及 MS Excel 2007。

谁能帮忙?

【问题讨论】:

标签: c# sql-server excel


【解决方案1】:

我试过了,效果很好。我发现 DCOM Config 中缺少“Microsoft Excel 应用程序”。所以,我做了以下步骤:

  1. 开始
  2. 运行
  3. mmc -32
  4. 文件
  5. 添加删除管理单元
  6. 组件服务
  7. 添加
  8. 好的
  9. 控制台根
  10. 组件服务
  11. 计算机
  12. 我的电脑
  13. DCOM 配置
  14. Microsoft Excel 应用程序 -> 右键单击​​ -> 属性
  15. 在“安全”选项卡上,为域用户和 NT SERVICE\SQLSERVERAGENT 授予以下权限: 一种。启动和活动权限 湾。访问权限 C。配置权限
  16. 在身份选项卡上 -> 更改为交互式用户

就是这样。我运行了 SQL 作业,它成功了。

【讨论】:

  • 你是我的男人。这个错误让我发疯了。这解决了它!天哪
  • 非常感谢,它解决了我的问题。继续发布此类解决方案。
猜你喜欢
  • 1970-01-01
  • 2021-03-21
  • 2011-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-07
  • 2021-05-05
  • 1970-01-01
相关资源
最近更新 更多