我的 SSIS 包中有一个 foreach 循环容器,它迭代大约 30 个 .mdb (Access 2000) 文件。
这些文件可能非常大(最大 1GB),所以我想要某种“视觉反馈”来显示当前正在迭代的文件,无论是作为文件名还是作为“当前在 y 个文件中的 x 个”。
有没有办法在包的执行过程中动态显示这个?也许动态更新一个盒子的名字?
我正在使用 SQL Server/Visual Studio 2005
提前致谢。
我的 SSIS 包中有一个 foreach 循环容器,它迭代大约 30 个 .mdb (Access 2000) 文件。
这些文件可能非常大(最大 1GB),所以我想要某种“视觉反馈”来显示当前正在迭代的文件,无论是作为文件名还是作为“当前在 y 个文件中的 x 个”。
有没有办法在包的执行过程中动态显示这个?也许动态更新一个盒子的名字?
我正在使用 SQL Server/Visual Studio 2005
提前致谢。
foreach
在循环的开头放置一个脚本任务, select 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
然后,进度选项卡将在每次迭代开始时记录变量。