2

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

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

似乎没有一个事件处理程序正在触发。此外,在执行前和执行后设置的断点似乎不会触发。

控制流 - 5 个可执行文件

序列 OnPreExecute 事件处理程序

包资源管理器

有什么建议么?

4

2 回答 2

4

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

于 2013-08-19T19:42:44.903 回答
3

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

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

我也看到您在序列容器内为“获取 ObjectID”定义了一个 OnPostExecute 事件处理程序。序列容器具有 Pre 和 Post 执行事件处理程序。

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

于 2013-08-16T19:54:47.577 回答