通过ETL检测Informatica Log中的错误

时间:2019-05-27 23:59:58

标签: error-handling informatica

我正在使用Informatica将数据写入平面文件中,并通过事务控制转换将输出分成几个文件。

我需要知道是否无法创建特定文件,并且无法在日志表中记录这种情况。我已经强制执行了一些错误(例如,在文件名中强制设置了不存在的目录。),然后我试图捕获该错误。

  1. 在会话属性中定义错误日志类型(“配置对象”选项卡)不会显示任何相关异常。
  2. 检查会话属性中的写入向后兼容的会话日志文件(“属性”选项卡)确实有效。

但是,向后兼容的日志文件不容易解密。我可以识别出我强加的错误。

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]

我计划捕获错误消息,对其进行解码,然后将其写入数据库表中。

谢谢。

1 个答案:

答案 0 :(得分:0)

如果您选择将错误记录到表而不是文件中,它将在发生错误时包括相关的字段值。我建议使用文件名端口而不是事务控制,然后文件名端口将保存记录失败的错误文件的名称。