Informatica中的序列生成器转换是一个连接的转换,用于生成数字。我们可以主要使用此转换来生成主键和外键,或者用唯一的键填充或替换缺失的主键。
Informatica中的序列生成器转换有两个输出端口,即NEXTVAL和CURRVAL,它不允许用户创建新端口或修改/删除现有端口。
在本文中,我们将通过一个示例解释配置序列生成器转换所涉及的步骤。对于这个示例,我们将使用下面显示的数据。

配置Informatica序列生成器转换
在开始配置序列生成器转换之前,首先连接到存储库服务。为了连接到存储库服务,我们必须提供管理员控制台凭据。因此,请提供适当的用户名和密码,然后单击“连接”按钮。
提示:在这里,您必须提供在安装服务器时指定的Informatica管理员用户名和密码。

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

步骤2:创建目标定义
请导航到目标设计器并定义目标。在此Informatica序列生成器转换示例中,我们将使用已创建的SQL表(序列生成器)作为目标定义。请参考使用源定义创建目标表以了解创建目标定义所涉及的步骤。

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

接下来,将[Employ]源定义从“源”文件夹拖放到映射设计器。拖动源后,PowerCenter设计器将自动创建名为源限定符的默认转换。
创建Informatica序列生成器转换
要创建序列生成器转换,请导航到菜单栏中的“转换”菜单,然后选择“创建..”选项,如下图所示。

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

单击“创建”按钮后,序列生成器转换将添加到映射设计器。接下来,将目标定义(序列生成器)从“目标”文件夹拖放到映射设计器,并将源限定符、转换与目标定义连接起来。请使用“自动链接..”选项进行连接。

从上面的屏幕截图中,您可以观察到Informatica序列生成器转换会生成两个默认项:NEXTVAL和CURRVAL。NEXTVAL端口是我们必须为其分配Employee_ID的端口,而CURRVAL必须在转换编辑器内部进行分配。
双击序列生成器转换以生成序列号。从下面的屏幕截图中,您可以看到转换选项卡中可用属性的列表。
- 选择转换:默认情况下,它将选择您单击的转换。
- 重命名:此按钮将帮助您将序列生成器转换重命名为更具描述性的名称。
- 设为可重用:如果您选中此选项,则此转换将成为可重用转换。
- 描述:请为此转换提供有效的描述。

下面的屏幕截图将显示Informatica序列生成器转换端口选项卡中可用选项的列表。
- 端口名称:可用列名称列表。通过单击“新列”按钮,您可以添加新列,通过单击剪刀按钮,您可以删除不需要的列。
- I:序列生成器转换不允许输入列。
- O:在此部分下被选中复选框的列是序列生成器转换的输出列。如果您取消选中任何列,则该列将无法加载到目标表中。

下面的屏幕截图将显示Informatica序列生成器转换属性选项卡中可用选项的列表。
- 起始值:请输入您想要开始的值。例如,1用于ID或主键值的起始或最大值加一。
- 增量:请输入您想要用作序列增量的值。例如,1表示值将增加1(1, 2, 3, ...),如果您指定2,则值为2, 4, 6, 8...
- 结束值:请在此处指定结束值。例如,如果指定结束值为10,则序列将在达到10时停止。
- 当前值:请在此处指定当前值。例如,如果您指定当前值为3,则序列将从3开始,并使用“增量”选项递增值,直到达到“结束值”。一旦达到结束值,它将从起始值开始重复循环。
- 循环:请指定您是否希望重复循环。例如,如果您的结束值小于现有行,则选择“循环”选项会更好,或者如果您希望重复相同的数字序列,则选择此选项。
- 重置:请指定您是否希望为每个会话重置序列。

从下面的屏幕截图中,您可以观察到我们指定的属性。在这里,Informatica序列生成器转换将从值1开始序列,并以2递增,直到达到6。达到结束值后,序列生成器将从0(起始值)开始序列。

完成属性配置后,单击 OK 关闭转换窗口。

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

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

双击“会话任务”进行配置。尽管我们必须配置源、目标和一些通用属性,但我们仅解释了其中一些属性。我们强烈建议访问会话文章以了解其余属性。
从下面的屏幕截图中,您可以观察到Informatica工作流中的序列生成器转换是有效的。现在,让我们通过导航到“工作流”菜单并选择“启动工作流”选项来启动工作流。

选择序列生成器转换“启动工作流”选项后,PowerCenter工作流监视器将打开以对其进行监视。从下面的屏幕截图中,您可以观察到我们的工作流已成功执行,没有任何错误。

让我们打开SQL Server Management Studio,检查我们是否使用序列生成器转换成功生成了Employee_Id。

让我们更改起始值、结束值和增量值的属性,如下图所示。接下来,刷新映射并启动工作流。

让我们打开SQL Server Management Studio,检查我们是否使用Informatica中的序列生成器转换成功生成了序列Employee_Id。
