2014-07-20 79 views
2

我有幾個並行運行PowerCenter會話的實例。他們試圖將大量的行插入到同一個目標表中。該表對自然鍵列具有唯一約束,由於違反了唯一約束,導致大量行被拒絕。這些行保存在一個拒絕文件中,這會損害整個過程的性能。如何在.bad文件中禁用日誌記錄被拒絕的文件?

我不需要列出被拒絕的行 - 這是我有意識地決定防止在數據庫級別重複行,而不是在映射中。這是這個設計決定的已知副作用。

是否有一個設置來防止被拒絕的行被記錄在拒絕文件中?

回答

3

雖然的PowerCenter沒有提供設置來禁用拒絕文件並留下Reject Filename空導致錯誤,有一個很好的解決方法 - 您可以使用null device保存被拒絕的行(和節省意味着丟棄寫入的所有數據到空設備,但報告寫入操作成功)。

如果集成服務運行在Linux上,你可以使用/dev/null - 設定合適的目標設置如下:

Reject File Dir: /dev/ 
Reject Filename: null 

Windows平臺上類似的/dev/nullNUL文件。我沒有測試過PowerCenter會話,但C:\some\directory\NUL應該可以正常工作。

相關問題