SSIS OLE DB 目标用于将数据加载到各种数据库表、视图或 SQL 命令中。OLE DB 目标编辑器为我们提供了选择现有表、视图的选项,或者您也可以创建一个新表。在本文中,我们将向您展示如何配置 SSIS OLE DB 目标来加载或存储数据到 SQL Server 数据库。
注意:SSIS OLE DB 目标使用 OLE DB 连接管理器 与关系数据库建立连接。有关数据加载的更多信息,请>>单击此处。
配置 SSIS OLE DB 目标
步骤 1:将数据流任务从工具箱拖放到控制流。接下来,将其重命名为 SSIS OLE DB 目标。

双击它将打开数据流选项卡。
步骤 2:将 OLE DB 源和 OLE DB 目标拖放到数据流区域。在此示例中,我们仅解释 OLE DB 目标。因此,请参阅 OLE DB 源 文章以了解创建它的步骤。

在开始之前,请双击 OLE DB 源以查看我们使用的 SQL 命令。从下面的屏幕截图中,您可以看到我们在 Adventure Works DW 2014 数据库中使用了 [Dim Products] 和 [Fact Internet Sales] 表。

上面屏幕截图中使用的 SQL 命令是:
USE AdventureWorksDW2014
GO
SELECT PROD.[EnglishProductName]
,PROD.[Color]
,[SalesOrderNumber]
,[UnitPrice]
,[ExtendedAmount]
,[ProductStandardCost]
,[TotalProductCost]
,[SalesAmount]
,[TaxAmt]
,[Freight]
FROM [FactInternetSales]
INNER JOIN
[DimProduct] AS PROD ON
[FactInternetSales].[ProductKey] = PROD.[ProductKey]
步骤 3:双击 SSIS OLE DB 目标将打开 OLE DB 目标编辑器。使用此编辑器配置目标数据库。下面的屏幕截图将显示连接管理器选项卡中可用选项的列表。
- OLE DB 连接管理器:在这里,您必须选择现有的 OLE DB 连接管理器(如果有);否则,请单击“新建”按钮创建一个。在本例中,我们使用了已创建的 连接管理器。
- 表或视图名称:在这里,您必须选择现有的表或视图来存储数据。否则,请单击“新建”按钮创建一个新的目标表。
- 保留标识值:请通过选中此选项来指定是否要将标识值加载到目标表中。此选项仅适用于快速加载,默认情况下未选中。
- 保留 Null 值:请通过选中此选项来指定是否要将 NULL 值加载到目标表中。此选项仅适用于快速加载,默认情况下未选中。
- 表锁定:在加载数据时,请指定是否要锁定目标表。
- 检查约束:在加载数据时,请指定目标表是否检查约束。
- 每批行数:请指定每批要发送的行数。在实际应用中,指定一个可以提高性能的值总是明智的。
- 最大插入提交大小:请在此处指定最大批处理大小。

步骤 4:在数据访问模式中,我们有多个选项。在这里,我们必须选择以下选项之一来加载数据到 OLE DB 目标:
- 表或视图:选择此选项可将数据加载到表或视图中。
- 表或视图 - 快速加载:选择此 SSIS OLE DB 目标选项可将数据加载到表或视图并使用快速加载选项。
- 表名或视图名变量:如果将目标表或视图名称存储在变量中并使用快速加载选项,请选择此选项。
- 表名或视图名变量 - 快速加载:如果将目标表或视图名称存储在变量中,请选择此选项。
- SQL 命令:使用自定义命令将数据加载到 SSIS OLE DB 目标。
请记住,在您的 OLE DB 连接管理器中:
- 如果您使用 Microsoft OLE DB 提供程序访问 SQL Server,请使用快速加载选项。这意味着您可以使用选项 2 或 4。
- 如果您使用 SQL Server Native Client 访问服务器,请使用选项 1 或 3。

步骤 5:如果单击“表或视图名称”选项旁边的向下箭头按钮。它将显示当前连接管理器中存在的表和视图列表。

目前,我们选择名为 [SSIS OLE DB Destination] 的现有表。如果您之前未创建表或想创建一个新表,请单击“新建”按钮。它将打开一个新窗口,用于编写您的自定义查询以创建新表。

查看现有数据...:此按钮将帮助您查看目标表中已有的数据。
步骤 6:单击“映射”选项卡。接下来,检查源列是否与 SSIS OLE DB 目标列准确映射。

步骤 7:单击“确定”以完成 SSIS OLE DB 目标包的配置。让我们运行该包,看看是否将数据从 OLE DB 源 传输到了 OLE DB 目标。

让我们打开 SQL Server Management Studio 查询窗口来预览数据。从下面的屏幕截图中,您可以看到我们使用 OLE DB 目标成功地将传入数据加载到了表中。
