Informatica Power Center - ERROR: "Target table [TABLE_NAME] has no keys specified."

Informatica Power Center - ERROR: "Target table [TABLE_NAME] has no keys specified."

大家, 我在 Informatica PowerCenter 中遇到问题。

在我的映射中,我有 5 个对象:

源和目标 table 没有 主键,Informatica PowerCenter 为何需要键?

我已经尝试将我的工作流会话的“将源行视为”属性 从“插入”更改为“数据驱动”并且它正在运行。

您的映射中有更新策略。这期望您必须在目标上定义一些键。 Infa 触发类似

的查询
UPDATE tgt SET col =? WHERE KEY = ?

问号 1 是更新的列,问号 2 是键。 您可以将唯一键设置为主键。
如果您在目标中没有主键或唯一键,请将除可更新列之外的所有列定义为键。 或者,您可以使用 target overwrite 写入 sql 来更新目标,但这里也必须像上面那样设置类似的查询。
应设置数据驱动。

在 Informatica 中,在 Target Transformation 中标记为键的端口指示应使用什么来构建 DB 中的 Update 语句。它与数据库本身定义的真实 Primary Key 没有任何物理关系。通常您使用与 Informatica 和 DB 中的键相同的列 - 但这不是必需的。 DB 不知道 Informatica 中设置了什么,反之亦然。

在 Informatica 中多次定义相同的数据库 table 并具有不同的映射,这些映射将使用不同的列作为键来更新数据,这甚至是完全有效的。

但是请注意,如果您使用 Update Strategy,您 必须 定义要用作键的列。