我有一个平面文件,我将其保存到SQL表中。我想计算插入的行并将计数写入另一个表。
答案 0 :(得分: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