SSIS包错误,其中包含通过SQL Server代理作业

时间:2017-03-30 05:38:30

标签: c# sql-server ssis

我有一个SQL Server 2012 SSIS包,其中包含用于刷新excel文件的脚本任务。当我在Visual Studio中手动运行时,它执行正常,没有问题。

当我通过SQL代理作业执行包时,它失败并显示以下消息:

  

IS服务器上的包执行失败。执行ID:357243,   执行状态:4。

Integration Services目录中的消息:

  

脚本任务错误:目标抛出了异常   调用

所有其他没有脚本任务的软件包都可以通过SQL Agent作业成功执行。

我在链接上尝试了解决方案:
https://social.msdn.microsoft.com/Forums/en-US/b81a3c4e-62db-488b-af06-44421818ef91/excel-2007-automation-on-top-of-a-windows-server-2008-x64?forum=innovateonoffice

设置文件夹:

C:\Windows\SysWOW64\config\systemprofile\Desktop  
C:\Windows\System32\config\systemprofile\Desktop

我也遵循了有关的建议 https://social.msdn.microsoft.com/Forums/sqlserver/en-US/4a20219e-4a90-41be-acfe-b8846dc2c38a/error-while-executing-a-ssis-package-which-contains-a-script-task-through-sql-server-agent-job?forum=sqlintegrationservices没有运气。

我希望有人会有另一个建议。

我的脚本任务是:

#region Namespaces
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Runtime;
using System.Windows.Forms;
using Microsoft.Office.Interop;
using Excel = Microsoft.Office.Interop.Excel;

    /// </summary>
    public void Main()
    {
        string TemplatePath = Dts.Variables[@"User::TemplatePath"].Value.ToString();

        Excel.Application MyApp = new Excel.Application();
        Excel._Workbook Template = null;

        MyApp.Visible = false;
        Template = MyApp.Workbooks.Open(TemplatePath);
        Template.RefreshAll();
        Template.Close(true);
        Dts.TaskResult = (int)ScriptResults.Success;
    }

0 个答案:

没有答案