Informatica 中的全外连接是 Joiner 转换中可用的另一种选项,用于返回主表和详细表中的所有现有记录。
让我们看看 Informatica 中全外连接的视觉表示,以便更好地理解。

在本文中,我们将使用 Joiner 转换在两个 SQL 表上执行 Informatica 全外连接。在我们开始设计映射之前,让我们先看看我们将要在 Informatica 中执行全外连接的两个源表。
数据库中的 Department 表是

数据库中的Employees表是

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

步骤 2:在目标定义中创建 Informatica 全外连接
请导航至 目标设计器 并定义目标。在此示例中,我们使用已创建的 SQL 表(Informatica 中的全外连接)作为我们的目标定义。请参阅 使用源定义创建目标表 以了解创建目标定义所涉及的步骤

步骤 3:创建 Informatica 全外连接的映射
要创建新映射,请导航到菜单栏中的“映射”菜单,然后选择“创建.”选项。这将打开“映射名称”窗口,如下图所示。在这里,您必须为此映射(m_Full_Outer)编写一个唯一的名称,然后单击“确定”按钮。
提示:请参阅 Mapping 文章以了解创建 Mapping 所涉及的步骤。

接下来,将 Employee 和 Department 源定义从“源”文件夹拖放到映射设计器。一旦您拖放了源,PowerCenter Designer 将自动创建一个名为源限定符的默认转换。
步骤 3(a):在 Informatica 中创建 Joiner 转换
要创建 Informatica 中的 Joiner 转换,请导航到菜单栏中的“转换”菜单,然后选择“创建.”选项,如下图所示。

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

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

双击 Joiner 转换以配置连接条件。从下面的屏幕截图可以看到“端口”选项卡中可用选项的列表
- M:请选中您想用作主表的列。从下面的屏幕截图可以看到,Joiner 转换自动选择了 Employee 表作为主表

始终将包含记录较少的表选择为主表是一个好习惯。这就是我们选择 Department 表作为主表的原因。
注意:您不必选择主表中的每一列。如果您从 Employee 中选择一列,则 Informatica 将自动选择其余列。

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

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

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

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

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

双击会话任务以进行配置。尽管我们必须配置源、目标和一些通用属性,但我们只解释了其中一些属性。我们强烈建议访问 会话 文章以了解其余属性。
从下面的屏幕截图可以看到,我们已将 $target 变量分配给“连接值”,并选中了“截断目标表”选项以截断目标表中的现有数据。

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

选择“启动工作流”选项后,将打开 PowerCenter 工作流监视器来监视工作流。从下面的屏幕截图可以看到,我们的 Informatica 全外连接工作流已成功执行,没有任何错误。

让我们打开 SQL Server Management Studio,检查我们是否已成功使用 Joiner 转换在 Informatica 中执行了全外连接。
