Informatica 中的详细外部连接用于返回主表中的所有现有记录以及详细表中的匹配记录。
为了更好地理解,让我们看看 Informatica 中详细外部连接的可视化表示。

在本文中,我们将使用 Joiner Transformation 在两个 SQL 表上执行 Informatica 详细外部连接。在我们开始设计映射之前,让我们看一下我们将执行详细外部连接的两个源表。数据库中的 Employees 表是

数据库中的 Department 表是

Informatica 详细外部连接示例
在我们开始任何操作之前,首先使用您的 管理员控制台 凭据连接到存储库服务。
提示:请参阅 普通连接、主外部连接 和 全外部连接 文章以了解 Informatica 中的其他连接。
步骤 1:创建源定义
成功连接后,导航到 源分析器 并定义您的源。在此 Informatica 详细外部连接示例中,我们使用 SQL Server 数据库中的 Department 和 Employee 表作为我们的源定义。请参阅 数据库源 以了解创建源定义的步骤。

步骤 2:创建目标定义
请导航到 目标设计器 并定义目标。在此示例中,我们将使用已创建的 SQL 表(Informatica 中的详细外部连接)作为我们的目标定义。请参考 使用源定义创建目标表 以了解创建目标定义的步骤。

步骤 3:创建 Informatica 详细外部连接映射
对于此 Informatica 详细外部连接示例,我们创建了 m_Detail_Outer 映射。请参阅 映射 文章以了解创建映射。接下来,从 Sources 文件夹将 Employee 和 Department 源定义拖放到映射设计器。拖动源后,PowerCenter Designer 将自动创建名为 source qualifier 的默认转换。
步骤 3(a):在 Informatica 中创建详细外部连接
要创建详细外部连接转换,请导航到菜单栏中的“转换”菜单,然后选择“创建..”选项,如下图所示。

单击“创建..”选项后,将打开“创建转换”窗口,如下图所示。请从下拉列表中选择 Joiner transformation,为该转换指定唯一的名称 (JNR_DETAIL),然后单击“创建”按钮。

单击“创建”按钮后,Joiner 转换将添加到映射设计器。为了执行详细外部连接,Joiner 转换需要一些数据,因此我们必须使用 Autolink.. 选项将源定义连接到 Informatica 转换(或选择并拖动所需字段)。

双击 Joiner 转换以配置连接条件。从下面的屏幕截图可以看到“端口”选项卡中提供的可用选项列表
- M:请勾选您想用作主表的列。始终建议选择记录最少的表作为主表。在这里,我们将 Department 表选作我们的主表。
注意:您不必选择 Employee 中的每一列。如果您从 Employee 中选择一列,Informatica 将自动添加其余列。

下面的屏幕截图将显示“属性”选项卡中提供的可用选项列表
- 连接类型:在此示例中,我们执行 Informatica 详细外部连接。因此,我们从下拉列表中选择详细外部连接。
- 排序输入:如果使用排序数据,请勾选此选项。

在“条件”选项卡中,我们必须指定条件。在此示例中,我们将基于条件 Department.id = Employee.Depart Id 在 Department 和 Employee 表上执行 Informatica 详细外部连接。因此,单击“新建”按钮(在剪刀旁边)以创建新条件,并从主列表和详细列表中选择列名。

完成 Joiner Transformation 属性的配置后,单击“确定”关闭转换窗口。
接下来,将目标定义(Informatica 中的详细外部连接)从 Targets 文件夹拖放到映射设计器,并将 Joiner Transformation 连接到目标定义。请使用 Autolink.. 选项连接它们。

在关闭 Mapping 之前,让我们通过转到“Mapping”菜单栏并选择“Validate”选项来验证 Mapping。
步骤 4:为 Informatica 详细外部连接创建工作流
完成映射创建后,我们必须创建工作流。PowerCenter Workflow manager 提供两种创建工作流的方法。
在此详细外部连接示例中,我们将手动创建工作流。要创建新工作流,请导航到“工作流”菜单并选择“创建”选项。这将打开“创建工作流”窗口,如下图所示。请提供唯一的名称 (wf_Detail_Outer) 并保留默认设置。

创建完工作流后,下一步是为我们的映射创建会话任务。
注意:我们强烈建议参考 工作流 文章来了解手动创建工作流涉及的步骤。
步骤 4(a):为 Informatica 详细外部连接创建会话
有两种类型的会话
对于此 Informatica 详细外部连接示例,我们将创建非可重用会话。请导航到“任务”菜单并选择“创建”选项以打开“创建任务”窗口。在这里,您必须选择“会话”作为任务类型(默认),并为会话输入唯一的名称 (S_Detail_Outer)。
单击“创建”按钮后,将打开一个新的“映射”窗口。您必须选择要与此会话关联的映射。从下面的屏幕截图可以看出,我们选择了我们之前(在步骤 3 中)创建的映射(m_Detail_Outer)。

双击会话任务进行配置。虽然我们需要配置源、目标和一些通用属性,但我们仅解释其中一些属性。我们强烈建议访问 会话 文章以了解其余属性。
从下面的屏幕截图可以看出,我们已将 $target 变量分配给 Connection Value。我们将 Target Load Type 选项从 Bulk 模式更改为 Normal 模式,并勾选了 Truncate target table 选项以从目标表中截断现有数据。

从下面的屏幕截图可以看出,Informatica 详细外部连接工作流是有效的。让我们通过导航到“工作流”菜单并选择“启动工作流”选项来启动工作流。

选择“启动工作流”选项后,将打开 PowerCenter Workflow monitor 以监视工作流。从下面的屏幕截图可以看出,我们的详细外部连接工作流已成功执行,没有错误。

让我们打开 SQL Server Management Studio,检查我们是否已通过 Joiner Transformation 成功在 Informatica 中执行了详细外部连接。
