3

我有一个要保存到 SQL 表的平面文件。我想计算插入的行并将计数写入另一个表。

4

1 回答 1

7

简单的答案是创建一个 SSIS 变量并将 RowCount 转换拖放到您的数据流中。

创建变量

在控制流上,单击背景。不要单击任何任务,否则您的变量将在错误的范围内创建(此警告不适用于 2012)。右键单击并选择变量。在“变量”窗口中,单击“添加”按钮并将其命名为 RowCounts,数据类型为 Int32(除非您需要 Int64(超过 2M 行))

添加行计数转换

在数据流中,在数据源之后添加行计数转换。将其配置为使用我们在上面创建的变量。生成的数据流可能看起来像这样

行数数据流

需要注意的是,行计数组件在数据流完成之前不会将行计数分配给@User::RowCount 变量。

保存行计数值

数据流完成后,您需要使用控制流中的执行 SQL 任务将值写入表中。

控制流

执行 SQL 任务看起来像这样,具体取决于您的表被定义为什么。

INSERT INTO 
    dbo.RowCounts
(
    rowcounts
) 
SELECT 
    ? AS rowcounts

在“参数映射”选项卡中,它看起来像

User::RowCount  Input  Long  0  -1
于 2012-06-20T15:47:57.253 回答