如何在完全缓存模式下实现查找转换(SQL Server 视频)

适用范围: Microsoft SQL Server Integration Services

作者:Carla Sabotta,Microsoft Corporation

长度:00:09:34

大小:16 Mb

类型:WMV 文件

观看此视频

相关帮助主题:

查找转换

其他视频:

创建基本包(SQL Server 视频)

将 SQL Server 数据导出到 Excel(SQL Server 视频)

视频摘要

该视频演示如何使用查找转换、缓存连接管理器和缓存中存储的引用数据集,在完全缓存模式下实现查找转换。

视频脚本

您好,我是 Carla Sabotta,负责编写 Microsoft SQL Server Integration Services 产品的文档。

在这个视频中,我将向您演示如何在完全缓存模式下实现查找转换。您将了解如何使用查找转换、缓存连接管理器和缓存中存储的引用数据集,在包中实现查找。

您可以通过执行查找来访问相关数据源中的更多信息。查找基于一个公共列将输入数据源中的某个值映射到相关数据源中的某个值,并返回匹配的行。相关的数据源称为引用数据集。

若要在包中实现查找,第一步是将两个数据流任务添加到**“控制流 (Control Flow)”**选项卡。一个数据流任务将包含“缓存转换”转换和缓存连接管理器。另一个数据流任务将包含“查找转换”。

我们添加到数据流任务的批注简要介绍了这些任务要执行的操作。批注便于您了解和维护包。

您可以使用优先约束来连接数据流,以确保先执行缓存转换,然后执行查找转换;否则包将失败。

在第一个数据流任务中,您添加“缓存转换”转换,然后将该转换连接到数据源,该数据源将为查找转换生成一个引用数据集。在本演示中,缓存转换连接到一个 OLE DB 源,而后者连接到一个 SQL Server 表 (Production.Product)。

接下来,您可以将缓存转换配置为连接到缓存连接管理器,并从连接的数据源中将数据写入到缓存连接管理器中。

现在,您可以配置缓存连接管理器以指定以下各项:

  • 引用数据集中的哪些列是索引列?
    查找转换将输入数据源中的列仅映射到引用数据集中的索引列。您至少必须指定一列作为索引列。
    在本演示中,我们将指定 productID 列,因为它是输入数据源与引用数据集之间的公共列。
  • 当包运行时,存储在内存中缓存内的引用数据集是否持久化到一个文件中?
    通过将缓存保存到文件中,然后使用该文件而非缓存转换将数据写入缓存连接管理器,您可以在不同包中的多个查找转换之间共享缓存,并改进查找操作的性能。

下一步是将查找转换添加到第二个数据流,然后将其连接到一个输入数据源。在本演示中,转换连接到一个 OLE DB 源组件,而该源连接到一个 SQL Server 表 (Sales.SalesOrderDetail)。

现在,您可以配置查找转换以指定以下各项:

  • 在执行查找转换之前缓存引用数据集(选择**“完全缓存 (Full cache)”**选项)。
  • 查找转换使用缓存连接管理器连接到引用数据集(选择**“缓存连接管理器 (Cache connection manager)”**选项)。
  • 选择缓存连接管理器,此处指我们添加到第一个数据流的连接管理器。
  • 将输入数据源中的某列映射到引用数据集中的一个索引列,以便在这两个表之间创建联接。
    在本演示中,我们将映射 productID 列,因为输入数据源和引用数据集中均包含该列。
  • 选择引用数据集中您要在其中查找值的一列或多列。
    在此,我们将查找“名称 (Name)”值。当包运行时,查找转换将返回具有该值的行,其中,输入数据源中的 productID 与引用数据源中的 productID 相匹配。
  • 指定是使用引用数据集列中的值替换输入数据源列中的值,还是将其添加为新列。
    在此,我们指定为“名称 (Name)”值创建新列。

我们将查找转换连接到一个 OLE DB 目标,并添加一个数据查看器以查看查找操作的结果.

现在,我们就可以运行这个包了。

正如您所看到的那样,查找操作返回了具有该名称列值的匹配行。

本视频演示了如何使用查找转换、缓存连接管理器和缓存中存储的引用数据集,在包中实现查找。本视频还演示了如何添加显示查找操作结果的数据查看器。

感谢您观看此视频。希望它对您有所帮助,欢迎您返回网站查看其他 Microsoft SQL Server 视频。