我正在使用Informatica将数据写入平面文件中,并通过事务控制转换将输出分成几个文件。
我需要知道是否无法创建特定文件,并且无法在日志表中记录这种情况。我已经强制执行了一些错误(例如,在文件名中强制设置了不存在的目录。),然后我试图捕获该错误。
但是,向后兼容的日志文件不容易解密。我可以识别出我强加的错误。
WRITER_1_*_1> WRT_8004 Writer initialization failed [Error opening session output file [/path-to-file/fake-path/filename.csv] [error=No such file or directory]]. Writer terminating.
WRITER_1_*_1> CMN_1761 Timestamp Event: [Mon May 27 18:20:28 2019]
WRITER_1_*_1> WRT_8064 Error opening session output file [/path-to-file/fake-path/filename.csv] [errno=2] [error=No such file or directory]
WRITER_1_*_1> WRT_8333 Rolling back all the targets due to fatal session error.
WRITER_1_*_1> CMN_1761 Timestamp Event: [Mon May 27 18:20:28 2019]
WRITER_1_*_1> WRT_8081 Writer run terminated. [Error in loading data to target table [MAPPING_CSV]]
对于这个特定的错误,我可以捕获上面字符串的一部分,但是我想知道是否有一些通用的方法来识别错误,并且不要与误报混淆,例如
MAPPING> TM_6307 DTM error log disabled.
或
DBG_21216 Finished transformations for Source Qualifier [LKPTRANS{{DSQ}}]. Total errors [0]
我计划捕获错误消息,对其进行解码,然后将其写入数据库表中。
谢谢。
答案 0 :(得分:0)
如果您选择将错误记录到表而不是文件中,它将在发生错误时包括相关的字段值。我建议使用文件名端口而不是事务控制,然后文件名端口将保存记录失败的错误文件的名称。