在包执行时,各种可执行对象如包,foreach循环,for循环等容器,及其他各种任务都可以触发事件
当事件发生时你可以自定义事件处理程序.
1.首先我在控制流面板中添加一个脚本任务.故意抛出一个错误.
2.切换到事件处理程序.
可执行任务可以选择package,或者是foreach容器,及其他的任务.
我这里选择package ,点击连接创建一个错误捕获的事件处理程序
我从工具栏拖入一个脚本任务来处理错误.编辑脚本任务
点击设计"脚本按钮"
编辑如下代码
1
Imports System
2
Imports System.Data
3
Imports System.Math
4
Imports Microsoft.SqlServer.Dts.Runtime
5![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
Public Class ScriptMain
7![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
' The execution engine calls this method when the task executes.
9
' To access the object model, use the Dts object. Connections, variables, events,
10
' and logging features are available as static members of the Dts class.
11
' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure.
12
'
13
' To open Code and Text Editor Help, press F1.
14
' To open Object Browser, press Ctrl+Alt+J.
15![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
Public Sub Main()
17
'
18
' Add your code here
19
'
20
MsgBox(Dts.Variables("ErrorDescription").Value.ToString)
21
Dts.TaskResult = Dts.Results.Success
22
End Sub
23![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
24
End Class
25![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
执行看看结果把
选择 ctrl + F5 不调试执行.
好,正是我之前在脚本任务中抛出的错误, 事件错误处理就此搞定!