如何禁用.bad文件中记录被拒绝的文件?

时间:2014-07-20 10:13:37

标签: informatica-powercenter

我有几个并行运行的同一个PowerCenter会话的实例。它们尝试将大量行插入到同一目标表中。该表对自然键列具有唯一约束,由于唯一约束违规而导致许多行被拒绝。这些行保存在拒绝文件中,这会损害整个过程的性能。

我不需要被拒绝的行列表 - 我有意识地决定阻止数据库级别的重复行,而不是映射。这是该设计决定的已知副作用。

是否有设置可防止被拒绝的行记录在拒绝文件中?

1 个答案:

答案 0 :(得分:3)

虽然PowerCenter没有提供禁用拒绝文件的设置并且Reject Filename为空导致错误,但有一个很好的解决方法 - 您可以使用null device 保存被拒绝的行(和保存意味着丢弃写入空设备的所有数据,但报告写操作成功)。

如果Integration Service在Linux上运行,您可以使用/dev/null - 设置适当的目标设置,如下所示:

Reject File Dir: /dev/
Reject Filename: null

等同于/dev/null的Windows是NUL文件。我没有使用PowerCenter会话进行测试,但C:\some\directory\NUL应该可以正常工作。