SSIS前后执行处理程序没有触发

时间:2013-08-16 19:12:20

标签: ssis

我在包含5个可执行文件的包中添加了一些事件处理程序。 5中的每一个都有OnPostExecute和1,一个包含另外4个的序列容器,同时包含OnPostExecute和OnPreExecute。

序列容器在执行前有一个执行SQL任务,插入并获取@@ IDENTITY,并且帖子有一个更新@@ IDENTITY记录的执行SQL。

所有事件处理程序似乎都没有被触发。此外,在执行前和后执行时设置的断点似乎没有触发。

Control Flow - 5 Executables

Sequence OnPreExecute Event Handler

Package Explorer

有什么建议吗?

2 个答案:

答案 0 :(得分:4)

显然,当你“执行容器”是VS时,它不会触发任何已定义的事件。当我从顶部运行此代码时,所有事件都按预期触发。

答案 1 :(得分:2)

因此,您将在Control Flow屏幕截图中看到您有一个名为“复制表事务”的序列容器。

然后在可执行文件上定义了一个名为“复制表事务”的OnPreExecute事件处理程序。但是,在对象资源管理器中,您可以将光标放在包/控制流级别的事件处理程序上。你看到它是空的,因为你没有在那里定义任何东西。

但是我还看到你在Sequence Container中为“Get ObjectID”定义了一个OnPostExecute事件处理程序。 Sequence Container同时具有Pre和Post执行事件处理程序。

如果展开“复制表事务”中定义的OnPostExecute事件处理程序,您应该看到名为“表达式任务”和“执​​行SQL任务”的可执行文件