部署后 SSIS 包出错 SQL Server 2012

SSIS package gives error after deployment SQL Server 2012

我在 Visual Studio 2015 年创建了一个包。它运行良好。

基本上,我使用的是生成 Excel 电子表格并将其发送给不同用户的脚本任务。

在我将包部署到 SQL Server 2012 然后尝试从那里执行它之后 - 我收到一个没有任何进一步详细信息的错误。

我还从 SSISDB 运行 select * from internal.packages 确保 package_format_version 为 6,这应该是 SQL Server 2012 的值。

可能是什么问题?

您可能需要确保 "Microsoft Access Database Engine 2010 Redistributable" 驱动程序已安装在 SSIS 服务器上。你可以得到它 here.

这不一定是关于如何解决问题的答案,但它是关于如何修改脚本任务以获得比 "Script Task Failure: Exception has been thrown..."

更好的错误消息的答案

我们总是将脚本任务包装在 try-catch 中,然后从脚本任务中引发异常消息:

    public void Main()
    {
        try
        {

            //Your code here

            Dts.TaskResult = (int)ScriptResults.Success;
        }
        catch (Exception ex)
        {
            Dts.Events.FireError(-1, "", ex.Message, String.Empty, 0);
            Dts.TaskResult = (int)ScriptResults.Failure;
        }
    }

这始终是一个挑战,尤其是对于已部署的 SSIS 程序包,当它在脚本任务中出错时,您不一定会清楚地知道失败的原因,并且会收到一条神秘的错误消息。上面的代码将捕获抛出异常的原因并将其返回到集成服务。