2013-10-05 17 views
0

在我的情況下,我有一個表達式轉換,它使用默認函數ERROR('轉換')來跳過記錄,其中進入的日期值不是正確的格式。在這種情況下,跳過的行不會寫入拒絕文件,這樣我們就會遇到協調問題。我需要將跳過的行寫入壞文件。請幫助我如何實現此目的。Informatica跳過的記錄需要寫入壞文件

回答

2

Update Strategy轉換放入您的映射中,並將這些行標記爲拒絕(使用DD_REJECT常量)。

的更多信息:Update Strategy Transformation

+0

嗨馬雷克,謝謝。但我不需要改變我的設置。我需要任何功能改變來處理this.IIF(EndDate ='',NULL,to_date(EndDate,'YYYY-MM-DD'))。這是我們正在使用的表達式。其實,我有一個疑問,如果我使用該默認值,並且如果有任何無效的行來,是否該會話失敗。 – user2827693

+0

以下是'ERROR'功能的說明:*使PowerCenter集成服務跳過一行併發出您定義的錯誤消息。錯誤消息顯示在會話日誌中。 PowerCenter集成服務不會將這些跳過的行寫入會話拒絕文件*因此,您不能使用ERROR來使PowerCenter拒絕行 - 您需要將它們標記爲「DD_REJECT」或目標數據庫需要拒絕它們。 –

1

嘛,不使用中止()函數即可。然後使用路由器將不合格的日期寫入不同的目標。

+0

非常感謝。但是現在我還有其他一些問題,那裏有兩個表達式轉換,其中都有日期轉換,如IIF(EndDate ='',NULL,to_date(EndDate,'YYYY-MM-DD'))。通過這兩種轉換導致錯誤。但在會話日誌中,錯誤消息就像是錯誤轉換(s:'10/09/2013',s:YYYY-MM-DD),我需要知道,從這個mm/dd/yyyy格式到哪裏。注意:(我的來源是一個平面文件) – user2827693

+0

我沒有看到問題。儘可能早地移動格式錯誤的日期檢查,並使用所提及的「更新策略」或使用「路由器」轉換將這些行標記爲錯誤。 –