3

我开发了一个 Informatica PowerDesigner 9.1 ETL 作业,它使用查找和更新转换来检测目标表是否具有来自源的传入行。我已经为更新转换设置了一个条件

IIF(ISNULL(target_table_surrogate_id), DD_INSERT, DD_REJECT)

现在,当传入行已经在目标表中时,该行将被拒绝。Informatica 将这些被拒绝的行写入 .bad 文件。如何防止这种情况?有没有办法确定被拒绝的行没有写入 .bad 文件?或者我应该使用例如更新转换的路由器来确定该行是否是插入行然后丢弃其他行?

4

3 回答 3

4

在更新策略转换之前放置一个过滤器转换并过滤掉坏行

于 2013-05-03T20:26:50.367 回答
1

好吧,通常当我们检查目标中是否存在行时,决定是在插入和更新之间,然而,这是一个业务决策。

在您将行标记为 dd_reject 之前,它们将被写入错误文件。避免坏文件可以在这里 meqn mul6things...

一,根本不创建文件......使用过滤器来阻止行......你不需要更新策略......一个简单的过滤器应该足够好。

其次,如果您想以不同方式处理您的行,请不要将它们标记为拒绝,使用路由器并以不同方式处理它们......

希望有所帮助,

拉加夫

于 2013-05-05T01:20:33.393 回答
0

如果您不需要被拒绝的行,您可以取消选中更新策略“转发被拒绝的行”中的选项

于 2014-10-14T10:07:25.037 回答