每个人,我在Informatica PowerCenter遇到问题。
在我的映射中,我有5个对象:
- 1x源表
- 1x源限定符
- 1x表达式转换
- 1x更新策略
- 1x目标表
源表和目标表没有主键,Informatica PowerCenter为什么需要主键
我尝试过更改;将源行视为";"我的工作流会话的属性";插入";至";"数据驱动";它正在发挥作用。
映射中有一个更新策略。它要求您必须在目标上定义一些键。Infa像一样触发查询
UPDATE tgt SET col =? WHERE KEY = ?
问号1是更新列,问号2是关键。可以将唯一的关键点设置为主关键点
如果目标中没有主键或唯一键,请将除可更新列之外的所有列定义为键。或者,您可以使用目标覆盖来编写sql来更新目标,但在这里,您也必须设置类似于上面的查询
应设置数据驱动。
在Informatica中,Target Transformation
中标记为键的端口指示应该使用什么来在DB中构建Update
语句。它在物理上与数据库本身中定义的实际Primary Key
无关。通常在Informatica和DB中使用与键相同的列,但这并不是必须的。DB不知道Informatica中设置了什么,反之亦然。
在Informatica中多次定义相同的数据库表,并使用不同的映射将使用不同的列作为键更新数据,这甚至是完全有效的。
但是请注意,如果使用Update Strategy
,则必须定义要用作键的列。