Informatica 中的非连接查找转换不过是一个带有参数的编程函数,要调用这个非连接查找,我们必须使用表达式转换。
在本文中,我们将通过一个示例向您展示如何在 Informatica 中执行非连接查找转换。在我们开始设计映射之前,让我们看一下我们要执行查找操作的源表和查找表。
源数据库中的 Employees 表是

我们的查找表将是数据库中的 Department 表

在此 Informatica 非连接查找转换示例中,我们的任务是将源(Employee 表)表中的 [First Name] 和 [Last Name] 以及 Department 表中的 [Department Name] 加载到目标表中。当然,我们可以使用 全外连接 来实现相同的目标,但我们将向您展示替代方法,即非连接查找转换。
Informatica 中的非连接查找转换示例
在我们开始在 Informatica 中配置非连接查找转换之前,请先连接到 Informatica 存储库服务。
要连接到存储库服务,我们必须提供 管理员控制台 凭据。因此,请提供正确的用户名和密码,然后单击“连接”按钮,如下图所示。
提示:这里,您必须提供在安装服务器时指定的管理员用户名和密码。

步骤 1:为 Informatica 中的非连接查找转换创建源定义
成功连接后,请导航到源分析器并定义您的源。在此非连接查找示例中,我们将 SQL Server 数据库中的 Employee 表用作我们的源定义。
请参阅 数据库源 以了解创建源定义所涉及的步骤。

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

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

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

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

单击“创建..”按钮后,“为查找转换选择查找表”窗口将打开,如下图所示。在这里,我们选择源中存在的部门表。

单击“创建”按钮后,查找转换将添加到映射设计器。由于我们正在解释非连接查找转换,因此无需与源限定符连接。

下图显示了 Informatica 非连接查找转换“端口”选项卡中可用选项的列表。在这里,我们添加了一个新的输入端口(IN_DeptID),并从输出端口移除了 id。

在“条件”选项卡中,我们添加了一个条件 id = IN_DeptID。以下条件表明,每当调用此查找转换时,都必须提供整数数据类型的参数值。
一旦他们传递了值,查找转换将检查该值是否等于 id,如果条件为 TRUE,它将返回相应的部门名称;否则,将返回 NULL。

步骤 3(b):创建表达式转换
这是 Informatica 中非连接查找转换的一个非常重要的步骤。
请参阅 表达式转换 文章以了解创建它所涉及的步骤。创建它后,请通过拖动所需的字段将源限定符连接到表达式转换。
我们将 [First Name]、[Last Name] 和 [DepartID] 添加到表达式转换。双击表达式转换以编写自定义表达式。

从下面的屏幕截图可以看到,我们创建了一个名为“部门名称”的新输出列。我们将使用此列来存储从 Informatica 非连接查找转换获得的部门名称。
单击我们下面显示的“映射名称”旁边的箭头按钮,以编写自定义表达式。

这将打开表达式编辑器以编写自定义表达式。在这里,我们希望从查找转换中获取部门名称。
为此,转到“函数”选项卡,搜索“查找”文件夹,然后选择我们之前创建的查找。正如我们所知,我们在查找转换中设置了条件。这意味着我们必须提供整数类型的参数值。
提示:查找转换将检查条件 id = DepartID,如果条件为 TRUE,它将返回相应的部门名称;否则,将返回 NULL。

编写完表达式后,单击“确定”关闭转换窗口。接下来,将目标定义(Unconnected Lookup)从“目标”文件夹拖放到映射设计器,并将表达式转换连接到目标定义。请使用“自动链接..”选项将它们连接起来。

在关闭映射之前,让我们通过转到“映射”菜单栏并选择“验证”选项来验证非连接查找映射。
步骤 4:为非连接查找创建工作流
完成映射创建后,我们必须创建工作流。PowerCenter 工作流管理器提供了两种创建工作流的方法。
在此非连接查找转换示例中,我们将手动创建工作流。创建工作流后,我们的下一步是为我们的映射创建会话任务。
步骤 4(a):在 Informatica 中为非连接查找转换创建会话
有两种类型的会话
对于此非连接查找示例,我们将创建非可重用会话。因此,请导航到“任务”菜单并选择“创建”选项以打开“创建任务”窗口。在这里,您必须选择“会话”作为任务类型(默认),并为会话输入一个唯一的名称(S_Unconnected_Lookup)。
单击“创建”按钮后,将打开一个新的“映射”窗口。您必须选择要与此会话关联的映射。在此非连接查找转换中,我们选择我们之前(在步骤 3 中)创建的映射(m_Unconnected_Lookup)。

双击“会话任务”进行配置。虽然我们必须配置源、目标和一些公共属性,但我们在此不进行解释。相反,我们强烈建议访问 会话 文章以了解其属性。
Informatica 工作流中的非连接查找转换是有效的。现在,让我们通过导航到工作流菜单并选择“启动工作流”选项来启动工作流。

选择“启动工作流”选项后,PowerCenter 工作流监视器将打开以监视工作流。我们的非连接查找工作流将成功执行,没有任何错误。

让我们打开 SQL Server Management Studio,检查我们是否使用 Informatica 中的非连接查找转换成功地将信息从源表和查找表存储起来。

评论已关闭。