包裹结束时的SSIS事件(或其他)

时间:2012-03-29 20:41:31

标签: sql-server sql-server-2008 ssis

每当我的ssis包结束时,我都需要一种方法来执行存储过程。

无论是失败还是成功。

如果没有连接每个任务的失败事件,有没有办法做到这一点?我一直在寻找一个OnPackageEnd事件,但我看不到它。

你们有没有想法?

4 个答案:

答案 0 :(得分:4)

在包中将所有任务放在容器中。在容器下面放入执行程序任务,对于优先约束,选择值为“完成”(该行将为蓝色,默认为绿色)。因此,无论包状态(成功还是失败),都将执行存储过程。

答案 1 :(得分:3)

我认为最简单的事情是将proc的执行添加为执行包的作业的第二步,您可以在那里指定您可以在失败和成功时进入下一步。

或者您将Exec SQL任务放在流程结束时执行包(获取成功分支)并将其放入事件处理程序中以解决所有故障(我们在包级别执行事件处理程序而不是针对个人步骤),我们这样做一步,我们运行相同的proc但在失败或成功的情况下具有不同的输入值。

答案 2 :(得分:0)

你可以在pacakge的onPostExecute上创建一个事件处理程序,并在那里的执行SQL任务上添加proc

OR

将所有当前组件添加到序列容器中,并使用您的过程将绿色箭头拖到新的execute sql任务组件中。 双击绿色箭头并选择“完成”而不是“成功”

答案 3 :(得分:0)

为每个任务执行OnPostExecute。因此,这对于期望OnPackageEnd类型的事件的要求并不好。