我有一个要保存到 SQL 表中的平面文件。我想计算插入的行数并将计数写入另一个表。
最佳答案
简单的答案是创建一个 SSIS 变量并将 RowCount 转换放到您的数据流中。
创建变量
在控制流上,单击背景。不要单击任何任务,否则您的变量将在错误的范围内创建(此警告不适用于 2012)。右键单击并选择变量。在Variables窗口,点击Add按钮,命名为RowCounts,数据类型为Int32(除非你需要Int64(超过2M行))
添加行计数转换
在您的数据流中,在您的数据源之后添加一个行数转换。将其配置为使用我们在上面创建的变量。生成的数据流可能看起来像这样
请务必注意,行数组件不会将行数分配给@User::RowCount 变量,直到数据流完成之后。
保存行计数值
数据流完成后,您需要使用控制流中的执行 SQL 任务将值写入表中。
执行 SQL 任务看起来像这样,具体取决于表的定义。
INSERT INTO
dbo.RowCounts
(
rowcounts
)
SELECT
? AS rowcounts
在参数映射选项卡中,它看起来像
User::RowCount Input Long 0 -1
关于ssis - 使用 SSIS 行数更新 SQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11121049/