SSIS 中的缓存转换用于从各种数据源读取数据,例如平面文件、Excel 工作表和 ADO.NET 数据源。然后将这些数据源中的数据保存在 .caw 文件中。
默认情况下,查找转换使用 OLE DB 连接管理器作为查找引用表。我们也可以使用其他数据源,但必须通过 SSIS 缓存转换间接使用它们。
在实际应用中,我们使用缓存转换将引用表保存为 .caw 格式。然后,在 SSIS 中,使用 缓存连接管理器执行 查找转换。
SSIS 缓存转换示例
在此示例中,我们将使用 SSIS 缓存转换将 Excel 文件中的数据复制到缓存文件(.caw 扩展名)。

步骤 1:从工具箱将数据流任务拖放到控制流中,并将其重命名为“缓存转换”。

双击它将打开数据流选项卡。
步骤 2:从工具箱将 Excel 源拖放到数据流区域。双击它以配置 Excel 文件。

点击“浏览”按钮从本地硬盘选择源文件。

从上面的屏幕截图中,您可以看到我们选择了本地驱动器上的COUNTRIES LOOKUP.xls 文件。
注意:如果您的 Excel 文件第一行包含列名,请勾选“第一行包含列名”选项。

步骤 3:单击列选项卡以验证列。在此选项卡中,我们可以取消勾选不需要的列。

从上面的屏幕截图中,您可以看到“Country Key”未被勾选,因为我们不需要使用密钥列。我们只需要“Country Name”作为查找列,“Country Code”列作为附加输出列。
将蓝色箭头从 Excel 源拖到缓存转换,以对源数据执行转换。
步骤 4:双击 SSIS 缓存转换以进行配置。

我们在项目中尚未创建 SSIS 缓存连接管理器,请单击“新建”按钮进行配置。
步骤 5:在 SSIS 缓存转换编辑器的“常规”选项卡中,
- 连接管理器名称:默认值为“缓存连接管理器”。但您可以根据项目需求更改连接管理器的名称。
- 描述:为缓存连接管理器提供有效的描述。但现在,我们保留默认值。
- 使用文件缓存:如果勾选此选项,连接管理器会将缓存数据写入文件。
- 浏览:此按钮用于浏览现有文件或创建扩展名为 .caw 的新文件。

从上面的缓存转换屏幕截图中,您可以看到我们使用了文件缓存选项。接下来,我们选择了位于本地驱动器上的 lookup.caw 文件。
接下来,选择 SSIS 缓存转换的“列”选项卡。
步骤 6:“列”选项卡将显示来自源数据的所有可用列及其数据类型、长度、精度和小数位数等。除了这些选项外,还有一个重要的属性称为“索引位置”。
- 将未用于查找的列的“索引位置”设置为 0。在此示例中,我们不想对“Country Code”列执行查找操作。因此,将此列的索引位置设置为 0。
- 将用于查找的列的“索引位置”设置为 1。在此示例中,我们希望对“Country Name”列执行查找操作。因此,将此列的索引位置设置为 1。

点击“确定”完成 SSIS 缓存连接管理器的配置。
步骤 7:点击 SSIS 缓存转换的“列”选项卡,以验证所有列是否已正确映射。如果未正确映射,请将“输入列”映射到适当的“目标列”。否则,您将获得错误的数据。

点击“确定”并运行 SSIS 缓存转换包,以在本地驱动器上创建缓存文件。

检查 SSIS 缓存转换的结果。
