sql-server - 具有视觉反馈的 SSIS Foreach 循环

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

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

这些文件可能非常大(最大 1GB),因此我想要某种“视觉反馈”来显示当前正在迭代哪个文件,可以是文件名,也可以是“当前位于 y 中的 x”文件”。

有什么方法可以在包执行期间动态显示这一点吗? 也许动态更新盒子的名称?

我正在使用 SQL Server/Visual Studio 2005

提前致谢。

最佳答案

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

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

关于sql-server - 具有视觉反馈的 SSIS Foreach 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18721053/

相关文章:

sql - 使用通用的相关子查询有效地提取不同的列

sql - 是否可以在触发器执行之前从SQL Server存储过程中获取输出结果集?

php - Mysql INSERT INTO 和 UPDATE 无法正常工作

sql-server - 将参数传递给 SQL 代理作业

sql - 检查每组所有行的两列是否相等

c# - 如何从 Foreach 循环中的 IList 更新记录?

php - php foreach 中从 php 到 Jquery.click 的属性

sql - SSIS 将百分比转换为小数

azure - 使用 SSIS 脚本任务连接到本地服务器,并使用自托管 IR 作为 ADF 中 Azure-SSIS IR 的代理

sql-server - 分析 sqlserver 2005 数据库性能的最佳方法是什么?