序列 Generator 信息化转型
⚡ 智能摘要
序列 Generator Informatica 中的转换是一个被动的、连接的对象,它为代理列和主键列生成数值序列,并通过名为 NEXTVAL 和 CURRVAL 的两个固定输出端口为每一行传递一个值。

什么是序列 Generator 转型?
序列 Generator 转换是被动的,因此不会影响输入行的数量。序列 Generator 用于生成主键值,也用于生成像 1、2、3、4、5 等这样的数值序列值。
例如,如果您想为源记录分配序列值,则可以使用序列。 Generator生成的序列值可以是 5、10、15、20、25 等,也可以是 10、20、30、40、50 等,具体取决于转换的配置属性。
与大多数转换不同,此转换完全没有输入端口。它不读取传入的行,只是将下一个数字传递给与其连接的端口,因此可以安全地将其放置在任何管道旁边。 地图ping.
序列中的端口 Generator 转型
序列 Generator 有两个输出端口
- 电流
- 下一个值
CURRVAL 端口值始终为 NEXTVAL 加上 Increment By 值,因此当 Increment By 保留其默认值 1 时,它只会读取为 NEXTVAL+1。
为了生成序列号,我们始终使用 NEXTVAL 列。下表总结了这两个端口的行为。
| 港口 | 它返回什么 | 何时连接 |
|---|---|---|
| 下一个值 | 流经管道的每一行序列中的下一个数字。 | 几乎总是如此。这是向目标系统中的关键列提供数据的端口。 |
| 电流 | NEXTVAL 加上增量值。 | 仅与 NEXTVAL 一起使用时才有效。单独使用时,它会为每一行传递相同的常量值。 |
两个端口都不能重命名或删除,也不能添加第三个端口,因此对生成的号码的任何更改都是在“属性”选项卡上进行的,而不是在端口上进行的。
序列的性质 Generator 转型
- 起始值 – 这是转换生成的第一个值,默认值为 0。
- 增量 – 这是您要增加值的数字。默认值为 1。
- 最终值——这是转换应生成的最大值。
- 循环——如果设置了此选项,则在到达值的末尾后,转换将从起始值重新开始。
同一选项卡上还会出现另外三个设置,这些设置会在共享转换或重新运行会话时立即生效。
| 特性 | 它控制什么 | 默认 |
|---|---|---|
| 当前值 | 下次会话运行的起始值。集成服务会在生成行时更新存储库中的此值。 | 1 |
| 缓存值数量 | 内存中一次保留多少个值,才能保证并发会话永远不会重复分配同一个数字? | 0 代表不可重复使用,1000 代表可重复使用 |
| 重设 | 每次会话都从初始当前值开始,而不是继续执行。此功能在可重用序列中不可用。 Generators. | 残疾人 |
| Tracing 级别 | 写入会话日志的详细程度:简略、正常、详细初始化或详细数据。 | 正常 |
如何使用序列 Generator 信息化转型
在这个例子中,我们将生成序列号并将其存储在目标位置。请按照以下八个步骤在 Map 中完成操作。ping 设计师。
步骤1) 使用以下脚本创建目标表。
步骤2) 将表导入 Informatica 作为目标表。
步骤3) 创建一个新地图ping 并导入 EMP 源表和 EMP_SEQUENCE 目标表。这两个定义现在都显示在画布上,如下所示。
步骤4) 在地图中创建一个新的转换ping
- 选择序列变换作为类型
- 输入转换名称“seq_emp”
- 选择创建选项
步骤5) 序列 Generator 转换将创建完成,请选择“完成”选项。此时,seq_emp 对象及其两个端口将出现在画布上。
步骤6) 将序列的 NEXTVAL 列链接起来。 Generator 到目标中的 SNO 列。
步骤7) 将其他列链接到 来源限定符 转换为目标表。
步骤8) Double 点击序列 Generator 打开属性窗口,然后
- 选择属性选项卡
- 输入起始值 =1 的属性,其余属性保留默认设置
- 选择“确定”按钮
现在保存地图ping 创建完成后执行它 会议 和 工作流程.
目标表中的 sno 列将包含由序列生成的序列号。 Generator 转型。
在我们的例子中,序列将是这样的:1 – Scott,2 – King,3 – Adam,4 – Miller,等等。
可重用序列和不可重用序列 Generators
上述的转变存在于一张地图中ping而在转换开发人员中创建它,可以使其可重用,并且一旦涉及多个会话,两者的行为就会有所不同。
| 比较点 | 不可重复使用 | 可重复使用 |
|---|---|---|
| 它在哪里被创建 | 一张地图ping在地图中ping 设计师 | 在转换开发器中,然后添加到任意数量的映射中。pings |
| 缓存值数量 | 默认值为 0,因此不会预先预留值。 | 默认值为 1000,因此每个会话都会保留自己的数字块。 |
| 重置属性 | 可用,并从原始当前值重新开始序列。 | 不可用,因为重新启动会分配已被其他会话使用的号码。 |
| 典型用途 | 一张图中的一个目标关键列ping | 多个映射中共享的代理键ping加载相同尺寸 |
缓存机制能够区分并发会话。每个会话都会预先获取一个数字块,这意味着这些数字是唯一的,但并非连续的:会话结束时,任何未使用的值都会被丢弃,下一个数字块会紧随其后开始。
序列的规则和限制 Generator 转型
有些内容只有在地图绘制完成后才会显现。ping 已经运行,所以在端口连接之前知道它们更便宜。
- 端口已固定。 NEXTVAL 和 CURRVAL 不能编辑或删除,也不能向转换中添加其他端口。
- CURRVAL 单独返回一个常量。 只有当 NEXTVAL 也向下游连接时,才连接 CURRVAL,否则每行都会获得相同的值。
- 两个靶子依次被装填。 当 NEXTVAL 向两个目标表提供数据时,第一个目标表会在第二个目标表开始之前加载其数字,因此两组数据不会交错。
- 出现缝隙是正常的。 会话未使用的缓存值永远不会被返回,因此会话失败或会话时间过短会在序列中留下空隙。设计键列时应考虑允许出现空隙。
- Cycle 可能会产生重复项。 启用循环后,一旦达到最终值,编号将从起始值重新开始,除非目标允许,否则这将与现有键冲突。
由于该转换从不读取任何行,因此几乎不会增加会话运行时间,这也是为什么它很少成为瓶颈的原因。 性能调优当密钥必须依赖于数据本身而不是计数器时, 聚合 or 连接器转型 是执行该工作的对象,而不是这个对象。






