Informatica 中的 XML 解析器转换

Informatica 中的 XML 解析器转换是一个活动的连接转换。此转换对于从管道内的文件中提取 XML 数据非常有用。

本文将通过示例向您展示如何在 Informatica 中使用 XML 解析器转换从 XML 文件中提取数据并将其加载到数据库表中。

对于此 Informatica XML 解析器转换示例,我们将使用下面显示的 XML 文件

XML Source file 1

我们将使用的 XSD 是

XSD File 2

目标表是 Customer Record。如您所见,它是一个空表

XML Destination table 3

Informatica 中的 XML 解析器转换示例

本文将向您展示如何在 Informatica 中使用此解析器转换将 XML 数据从 CSV 文件读取到 SQL 数据库表中。

在配置 XML 解析器转换之前,请允许我连接到 Informatica 存储库服务。为此,我们必须提供管理员控制台凭据。因此,请提供合适的用户名和密码,然后单击连接按钮。

提示:这里,您必须提供在安装服务器时指定的管理员用户名和密码。

步骤 1:Informatica 中 XML 解析器转换的源定义

成功连接后,请导航到源分析器以定义您的源。如前所述,我们将本地文件系统中的 XML 文件用作我们的源定义。因此,请导航到“源”菜单,然后选择“从文件导入...”选项

XML Parser Transformation in Informatica 4

选择“从文件导入...”选项后,将打开一个名为“打开平面文件”的新窗口。请从您的本地文件系统中选择 XMLCustomers.csv 文件,然后单击“打开”按钮。我建议您参考平面文件源文章以了解后续步骤。

Select XML File as Source Definition 5

单击“打开”按钮后,将打开一个名为“平面文件导入向导”的新弹出窗口。

XML Parser Transformation in Informatica 6

在步骤 2:分隔符部分,请选择分隔符

XML delimiter 7

在这里,我们可以编辑列名、数据类型、长度或精度、小数位数和宽度。我们不这样做,但如果您愿意,可以这样做。

XML File datatype as text 8

从下面的屏幕截图中,您可以看到我们新创建的平面文件源。

XML Parser Transformation in Informatica 9

步骤 2:为 Informatica 中的 XML 解析器转换创建目标定义

请导航到目标设计器以定义 XML 解析器转换的目标。在此示例中,我们将现有的 SQL 表(Customer Record)用作我们的目标定义。您可以参考使用源定义创建目标表文章以了解创建目标定义的过程。

XML Parser Transformation in Informatica 10

步骤 3:创建 Informatica XML 解析器转换映射

要创建新映射,请导航到菜单栏中的“映射”菜单,然后选择“创建..”选项。

create mapping 11

这将打开“映射名称”窗口,用于为此映射输入一个唯一的名称。我将输入 m_XMLParser,然后单击“确定”按钮。

提示:请参考映射文章以了解创建映射的程序。

XML Parser Transformation in Informatica 12

将 XML Customers 平面文件从“源”文件夹拖放到映射设计器。拖动源后,PowerCenter 设计器将自动为您创建源限定符。我建议您参考源限定符转换文章。

步骤 3(a):在 Informatica 中创建 XML 解析器转换

要创建 Informatica XML 解析器转换,请导航到菜单栏中的“转换”菜单,然后选择“创建..”选项。

XML Parser Transformation in Informatica 13

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

XML Parser Transformation in Informatica 14

单击“创建..”按钮后,将打开一个名为“导入 XML 定义”的新窗口,如下所示。在这里,您必须为该 XML 文件指定 XSD 或 XML 定义。

  • 本地文件:如果文件是本地文件系统,请选择此选项。
  • URL:选择特定 URL 处的。文件。
  • 非 XML 源:如果源是非 XML 文件(SQL 表)并且它存在于源定义中。
  • 非 XML 目标:如果源是非 XML 文件并且它存在于目标定义中。

请从您的本地文件系统中选择 CustomerXSD.xml 文件,然后单击“打开”按钮。

choose xsd file  15

根据您的要求,单击“是”或“否”。

XML Parser Transformation in Informatica 16

如果从上图选择“是”,则会打开以下窗口。将显示“更改 XML 视图创建和命名选项”。请根据您的需求更改选项。

XML Parser Transformation in Informatica 17

这将打开一个 XML 向导。单击“下一步”按钮

XML Parser Transformation in Informatica 18

每个 XML 文件都必须使用有效的 XML 定义(或 XSD)进行处理。请在第二页定义 XML 定义。

在此 Informatica XML 解析器转换示例中,我们使用实体关系 XSD。因此,我们选择第一个选项。

XML Parser Transformation in Informatica 19

单击“完成”按钮后,Informatica 中的 XML 解析器转换工作区将添加到映射设计器。

XML Parser Transformation in Informatica 20

首先,将 XML 字段从源限定符添加到 XML 解析器转换。接下来,将目标定义从“目标”文件夹拖放到映射设计器。

XML Parser Transformation in Informatica 21

接下来,将 XML 解析器转换字段连接到 Customer Record 目标表。

XML Parser Transformation in Informatica 22

步骤 4:为 Informatica 中的 XML 解析器转换创建工作流

完成映射创建后,我们必须创建工作流。PowerCenter Workflow Manager 提供两种创建工作流的方法。

在此 Informatica XML 解析器转换示例中,我们将手动创建工作流。为此,请导航到“工作流”菜单并选择“创建”选项。

XML Parser Transformation in Informatica 23

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

XML Parser Transformation in Informatica 24

创建完工作流后,下一步是为我们的映射创建会话任务。

步骤 4(a):为 XML 解析器创建会话

有两种类型的会话

对于此 Informatica XML 解析器转换示例,我们创建了一个非可重用会话。要创建非可重用会话,请导航到“任务”菜单并选择“创建”选项。

XML Parser Transformation in Informatica 25

请为此会话提供一个唯一的名称。在这里,我们将其命名为 s_XMLParseCustomer。单击“创建”按钮后,将打开一个新的“映射”窗口。在这里,您必须选择要与此会话关联的映射,即 m_XMLParser。

choose the Mapping 26

双击会话任务将打开“编辑任务”窗口。我们必须在“映射”选项卡中配置源和目标连接。首先,让我们通过单击“源”文件夹中的 SQ_XMLCustomers 来设置源连接。

  • 源文件目录:它将使用默认目录,但您可以提供完整路径来更改目录。例如,D:\File Examples\
  • 源文件名:它会自动检测。如果未检测到,请指定文件名及扩展名。
Source File Directory and FileName 27

接下来,我们必须配置目标连接。因此,在“目标”文件夹下选择 CustomerRecord。

在“连接”中,单击关系类型旁边的箭头按钮,然后选择目标表数据库(目标)

Target Database for XML 28

根据您的需求更改目标加载类型

XML Parser Transformation in Informatica 29

接下来,导航到“工作流”菜单并选择“验证”选项以验证工作流。

XML Parser Transformation in Informatica 30

现在,让我开始 Informatica XML 解析器转换工作流。为此,请导航到“工作流”菜单并选择“开始工作流”选项。

Start Workflow 31

让我们打开 SQL Server Management Studio 并编写以下 SQL 查询,以检查我们是否已成功将 XML 数据传输到表中。

Sql Table Data 32