SSIS Foreach Loop带有视觉反馈

时间:2013-09-10 14:03:33

标签: sql-server foreach ssis visual-studio-2005

我的SSIS包中有一个foreach循环容器,它迭代了大约30个.mdb(Access 2000)文件。

这些文件可能非常大(最大1GB),所以我想要一些视觉反馈'显示当前正在迭代的文件,可以是文件名,也可以是当前x文件中的文件'。

有没有办法在执行包时动态显示这个? Pehaps动态更新框的名称?

我正在使用SQL Server / Visual Studio 2005

提前致谢。

1 个答案:

答案 0 :(得分:3)

foreach循环的开头放置一个脚本任务,选择Visual Basic,选择要监视的变量为ReadOnlyVariables,然后用此代码替换默认的Public Sub Main()(编辑:每个请求还包含Enum ScriptResults个代码):

Enum ScriptResults
    Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success
    Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
End Enum

Public Sub Main()
    Dim msg As String = ""
    For Each Variable As Microsoft.SqlServer.Dts.Runtime.Variable In Dts.Variables
        msg = msg & "--" & Variable.Name & "|| " & Variable.Value.ToString() & "||"
    Next

    Dts.Events.FireInformation(-1, "", msg, String.Empty, -1, False)
    Dts.TaskResult = ScriptResults.Success
End Sub

进度选项卡将在每次迭代开始时记录变量。