我在一个包含 5 个可执行文件的包中添加了一些事件处理程序。5 个中的每一个都有 OnPostExecute 和 1,一个包含其他 4 个的序列容器,同时具有 OnPostExecute 和 OnPreExecute。
序列容器在预执行时有一个执行 SQL 任务,该任务插入并获取 @@IDENTITY,而帖子有一个更新 @@IDENTITY 记录的执行 SQL。
似乎没有一个事件处理程序正在触发。此外,在执行前和执行后设置的断点似乎不会触发。
有什么建议么?
我在一个包含 5 个可执行文件的包中添加了一些事件处理程序。5 个中的每一个都有 OnPostExecute 和 1,一个包含其他 4 个的序列容器,同时具有 OnPostExecute 和 OnPreExecute。
序列容器在预执行时有一个执行 SQL 任务,该任务插入并获取 @@IDENTITY,而帖子有一个更新 @@IDENTITY 记录的执行 SQL。
似乎没有一个事件处理程序正在触发。此外,在执行前和执行后设置的断点似乎不会触发。
有什么建议么?
显然,当您“执行容器”是 VS 时,它不会触发任何已定义的事件。当我从顶部运行此代码时,所有事件都会按预期触发。
因此,您将在控制流屏幕截图中看到您有一个名为“复制表事务”的序列容器。
然后,您在名为“复制表事务”的可执行文件上定义了一个 OnPreExecute 事件处理程序。但是,在对象资源管理器中,您将光标放在包/控制流级别的事件处理程序上。你看到那是空的,因为你没有在那里定义任何东西。
但我也看到您在序列容器内为“获取 ObjectID”定义了一个 OnPostExecute 事件处理程序。序列容器具有 Pre 和 Post 执行事件处理程序。
如果展开“复制表事务”上定义的 OnPostExecute 事件处理程序,您应该会看到名为“表达式任务”和“执行 SQL 任务”的可执行文件