Informatica writes rejected rows into a bad file,

2019-04-11 14:51发布

问题:

I have developed an Informatica PowerDesigner 9.1 ETL Job which uses lookup and an update transform to detect if the target table has the the incoming rows from the source or not. I have set for the Update transform a condition

IIF(ISNULL(target_table_surrogate_id), DD_INSERT, DD_REJECT)

Now, when the incoming row is already in the target table, the row is rejected. Informatica writes these rejected rows into a .bad file. How to prevent this? Is there a way to determine that the rejected rows are not written into a .bad file? Or should I use e.g. a router insted of an update transform to determine if the row is insert row an then discard the other rows?

回答1:

Put a filter transformation before the update strategy transformation and filter away the bad rows



回答2:

Well, typically when we check for presence of a row in target, the decision is between insert and update, however, thats a business decision.

Till the time you are marking rows as dd_reject, they would be written to a bad file. Avoiding bad file can meqn mul6things here...

One, to not have the file created at all... use a filter to block the rows...you dont need update strategy for that...a simple filter should be good enough.

Second, if you want to process ur rows differently, dont mark them as reject, use a router and process them differently...

hope to help,

raghav



回答3:

If you don't need rejected rows you can uncheck the option in update strategy "Forward rejected rows"