我有一个工作流程,在对几列进行一些基本检查后,将数据从Flat文件加载到Stage Table。在映射中,每次检查失败时(意味着列的值无效),我使用ErrorFlatFile
进入error text
。
现在,我的映射中有两个目标。一个是Stage表,另一个是Error Flat File。
我想要实现的是这个?即使ErrorFlatFile (indicating there is an error in the source file )
中有一个条目,我也想截断目标阶段表。
有人可以帮助我在会话级别如何做到这一点。
谢谢,
答案 0 :(得分:1)
您还需要一个会话。创建一个虚拟会话(一个不读取数据的会话)并添加一个Pre或Post-SQL语句:
TRUNCATE TABLE YourTargetStageTableName
创建从现有会话到虚拟会话的链接,并添加如下条件:
$ PMTargetName @ numAffectedRow> 0
将TargetName
替换为ErrorFlatFileName
的名称。只有在对错误文件进行了输入时才应执行第二个会话。如果没有错误,则不应执行。