Informatica 中的更新策略转换

Informatica 中的更新策略转换是一种活动连接转换。它可用于根据源表数据更新、插入或删除目标中的记录。此 Informatica 更新策略转换的优点在于,您可以限制记录不到达目标表。

本文介绍了如何配置 Informatica 更新策略转换。或配置更新策略以更新目标表中记录的步骤。

对于此 Informatica 更新策略转换示例,我们将使用以下显示的数据(客户记录表)。

  • 除了此转换选项外,您还可以使用会话属性来实现相同目的。另请参阅复杂的示例以解释此策略 >> 单击此处
Source Table 1

目标表是

Destination table 2

Informatica 更新策略转换示例

如果将源表与目标表进行比较,会发现电子邮件地址和职业列存在多个更改。在此示例中,我们的任务是使用 Informatica 更新策略转换来更新目标表中的更改。

在开始配置更新策略转换之前,请连接到存储库服务。为此,请输入您在安装服务器时指定的管理员控制台用户名和密码。

创建 Informatica 更新策略转换源定义

成功连接后,请导航到源分析器并定义您的源。在此示例中,我们将 SQL Server 数据库中的 [客户记录] 表用作源定义。请参考数据库源文章。

Source Definition 3

创建 Informatica 更新策略转换目标定义

请导航到目标设计器并定义 Informatica 更新策略转换目标。在此示例中,我们将已创建的表(DupCust)用作目标定义。请参考使用源定义创建目标表了解创建目标定义所涉及的步骤。

Target Designer 4

创建映射

要为 Informatica 更新策略转换创建新映射,请导航到菜单栏中的“映射”菜单,然后选择“创建...”选项。

Update Strategy Transformation in Informatica 5

这将打开“映射”名称窗口,用于为此映射输入唯一名称。例如,请输入 m_update_trans,然后单击“确定”按钮。

Update Strategy Transformation in Informatica 6

将客户记录源定义从“源”文件夹拖放到映射设计器。拖放源后,Power Center 设计器会自动为您创建源限定符

Update Strategy Transformation in Informatica 7

在 Informatica 中创建更新策略转换

要在 Informatica 中创建更新策略转换,请导航到“转换”菜单,然后选择“创建...”选项。

Update Strategy Transformation in Informatica 8

单击“创建...”选项后,将打开“创建转换”窗口。请从下拉列表中选择“更新策略转换”。接下来,指定唯一名称(ups_Customers),然后单击“创建”按钮。

Update Strategy Transformation in Informatica 9

单击创建按钮后,更新策略转换将添加到映射设计器。

Update Strategy Transformation in Informatica 10

接下来,将目标定义(DupCust)从“目标”文件夹拖放到映射设计器。

Add Target Table 11

在此示例中,我们希望更新电子邮件地址和职业列中发生的更改。因此,将这两个字段以及键列拖到 Informatica 更新策略转换中。

Update Strategy Transformation in Informatica 12

双击 Informatica 更新策略转换进行配置。从下面的屏幕截图可以看到“更新策略转换”选项卡中可用的属性列表。

  • 选择转换:默认情况下,它将选择您单击的转换。
  • 重命名:此按钮将帮助您将更新策略转换重命名为更有意义的名称。
  • 设为可重用:如果勾选此选项,此转换将成为可重用转换。
  • 描述:请提供有效的描述。
Update Strategy Transformation in Informatica 13

下面的屏幕截图显示了 Informatica 更新策略转换“端口”选项卡中可用的选项列表。

  • 端口名称:此 Informatica 更新策略中的可用列名称列表。您可以通过单击“新列”按钮添加新列,通过单击剪刀按钮删除不需要的列。
  • I:在此部分下标记的列是输入列。
  • O:在此部分下标记的列是输出列。如果取消勾选任何列,该列将无法加载到目标表中。
Check the Input and output ports 14

在 Informatica 更新策略转换属性选项卡下,我们有

  • 更新策略表达式:此处,您需要指定是要执行插入、删除还是更新
    • DD_INSERT:数字值为 0。用于插入记录。
    • DD_UPDATE:此用于更新行,数字值为 1。
    • DD_DELETE:数字值为 2。用于删除行。
    • DD_REJECT:数字值为 3。用于拒绝行。
  • 转发被拒绝的行:如果要将被拒绝的行转发到下一个转换,则需要勾选此选项。
  • 跟踪级别:保持默认值“正常”。
Open the Expression editor 15

这将打开表达式编辑器以编写自定义表达式。此处,我们使用 DD_UPDATE 表达式。

Expression Editor 16

单击“应用”然后单击“确定”关闭窗口。

View properties Tab to check the rejected rows 17

接下来,使用“自动链接...”选项将 Informatica 更新策略转换与目标定义连接起来。

Update Strategy Transformation in Informatica 18

在关闭映射之前,让我们通过转到“映射”并选择“验证”选项来验证 Informatica 更新策略转换映射。

创建工作流

完成映射创建后,我们必须为其创建工作流。它提供了创建工作流的两种方法。

在此 Informatica 更新策略转换示例中,我们将手动创建工作流。因此,导航到“工作流”菜单并选择“创建”选项。

Update Strategy Transformation in Informatica 19

这将打开“创建工作流”窗口。请提供唯一名称(wf_update_tran)并保留默认设置。

Update Strategy Transformation in Informatica 20

创建 Informatica 更新策略工作流后,下一步是为我们的映射创建会话任务。

创建会话

有两种类型的会话

对于此 Informatica 更新策略转换示例,我们将创建一个非可重用会话。为此,转到“任务”菜单并选择“创建”选项。

Create a Session 21

请为此会话提供唯一名称(s_update_tran)。单击“创建”按钮后,将打开一个新的“映射”窗口。此处,我们选择 m_update_trans。

Choose the Mapping 22

请将“开始任务”链接到新创建的会话任务。

Update Strategy Transformation in Informatica 23

双击会话任务将打开“编辑任务”窗口。在“属性”选项卡中

将源行视为:在此情况下,默认选择“数据驱动”。如果不是,请将其更改为“数据驱动”。请记住,“数据驱动”选项意味着,它将使用更新策略转换选项来加载目标表,而不是执行默认插入。

Treat Source Rows as Data Driven 24
$源连接值

此属性将在 $Source 变量中存储关系源信息。因此,单击下方标记的箭头,然后选择 SQL Tutorial 作为源信息。

Choose database Object 25
$目标连接值

此属性将在 $Target 变量中存储关系目标信息。因此,单击下方标记的箭头,然后选择 SQL Test 目标作为目标信息。

Target database 26

我们必须在“映射”选项卡中配置源和目标连接。首先,通过单击“源”文件夹中的 SQ_CustomerRecord 源来配置源连接。

在“连接”中,单击“关系类型”旁边的箭头按钮。然后使用我们在上一步中创建的连接变量,即 $Source。

Source Connection Variable 27

现在,我们必须配置目标连接。因此,单击“目标”文件夹中的 DupCust。在“连接”中,单击“关系类型”旁边的箭头按钮。然后使用连接变量 $Target。

Target Connection Variable 28

接下来,我将启动 Informatica 更新策略转换工作流。为此,请导航到“工作流”菜单并选择“启动工作流”选项。

让我们打开 SQL Server Management Studio,以检查我们是否成功执行了 Informatica 更新策略。

Destination Table 29

评论已关闭。