SSIS 行计数转换到日志插入的行数

本文介绍了如何使用 SSIS Integration Services 的行计数转换来记录插入的记录或行的总数,并提供了一个示例。

下面的屏幕截图显示了 Employee 文本文件中的记录。

TB Connect to a CSV File

SSIS 行计数转换到日志插入的行数

将“数据流任务”拖放到控制流区域。接下来,添加一个变量来保存插入行的计数。

Add Data Flow Task to Package

双击以打开 SSIS 数据流区域。然后,添加 平面文件源,然后双击它以打开源编辑器。

单击“新建”按钮以打开 平面文件连接管理器 编辑器窗口。接下来,单击“浏览”按钮选择 Employee 文件。如果文件的第一行包含标题名称,请选中“数据的第一行包含列名”选项。

使用高级部分更改数据类型。此处,列数据类型必须与目标表匹配;否则,它将引发错误。完成后,单击“确定”关闭窗口。

Flat File Connection to Choose text file

行计数转换 添加到 SSIS 数据流任务,并将其连接到平面文件源以记录插入的行。然后,双击行计数以选择变量。

SSIS Row Count Transformation to Log Inserted Rows

接下来,拖放 OLE DB 目标,然后双击它以打开编辑器。接下来,选择 OLE DB 连接管理器。

从列表中选择表。如果没有,请点击新建按钮创建一个新的。

OLEDB Destination to configure OLE DB Connection Manager

接下来,转到“映射”选项卡,检查输入和可用目标列的映射。

check the input and available destination column mapping

执行 SQL 任务 添加到控制流区域。

Add Execute SQL Task in SSIS Row Count Transformation to Log Inserted Rows

双击以打开编辑器并选择现有连接。接下来,将源类型更改为“直接”,然后编写下面显示的 INSERT 语句

INSERT INTO [dbo].[Package Information]
([Machine Name]
,[Package Name]
,[User Name]
,[Start Time]
,[Inserted Rows])
VALUES (?, ?, ?, ?, ?)
INSERT Into Statement

在参数映射中,将变量分配给指定的 INSERT 语句中的所有列。这里,我们使用系统和用户(行计数)变量。

Parameter Mapping

请记住更改数据类型,因为它们必须与目标表匹配;否则,将不会插入。例如,在参数名称下,0 表示第一个列,1 表示第二个列,依此类推。

SSIS Row Count Transformation to Log Inserted Rows

运行 SSIS 行计数转换到日志插入的行数包。

Run the SSIS Row Count Transformation to Log Inserted Rows package

打开 SQL Management Studio 查看结果。

View Result

下面的 SQL 查询显示了日志信息。