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 个对象:
- 1x 来源 Table
- 1x 源限定符
- 1x 表达式转换
- 1x 更新策略
- 1x 目标 Table
源和目标 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
,您 必须 定义要用作键的列。
大家, 我在 Informatica PowerCenter 中遇到问题。
在我的映射中,我有 5 个对象:
- 1x 来源 Table
- 1x 源限定符
- 1x 表达式转换
- 1x 更新策略
- 1x 目标 Table
源和目标 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
,您 必须 定义要用作键的列。