【解决】SQL Server作业中Excel Application不能访问文件

在通过SQL Server作业来实现定时任务时,出现如下错误:

FullyQualifiedErrorId : ComMethodTargetInvocation使用“1”个参数调用“Add”时发生异常:“Microsoft Excel 不能访问文件“D:\Test.xls”。 
可能的原因有以下几个:  ? 文件名称或路径不存在。  ? 文件正被其他程序使用。  ? 您正要保存的工作簿与当前打开的工作簿同名。”  所在位置 D:\Test.ps1:73   字符: 56

上述定时任务的具体内容是利用PowerShell脚本将Reporting Services中的报表导出为Excel文件,然后将导出的Excel文件合并一个包含多个Sheet的Excel文件。而出现上面错误信息的原因是在PowerShell中创建的Excel Application可以创建Excel文件,但不能读取Excel文件。解决办法如下:

1. 在运行窗口中执行:

MMC comexp.msc

如果操作系统是64位系统,则执行:

MMC comexp.msc /32

2. 在打开窗口中:组件服务 > 计算机 > 我的电脑 > DCOM 配置 节点下找到“Microsoft Excel Application”项,并右键打开属性窗口。

3. 在属性窗口“标识”选项卡中将运行账号选为“交互式用户”(缺省为“启动用户”)。

完成上述操作,发现可成功执行定时作业。

 

参见:http://blogs.msdn.com/b/dataaccesstechnologies/archive/2011/01/22/the-ssis-and-excel-story-continues.aspx

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。