如何将dboracle查询的结果存储为全局变量,以在talend的RUN-IF条件中使用?

问题描述

我有一个dbinput组件,我在其中使用如下所示的select语句:

select file_name,file_size from dat_file where file_name = '"+(String)globalMap.get("tFileList_1_CURRENT_FILE")+"' order by file_name desc

我想将file_namefile_size的值捕获到全局变量中,并且我可以使用RUNIF条件来验证filelist_1文件夹中的文件名和大小是否与db-IGnorE

仅当文件名和大小不同时-然后在talend中继续进行其余的处理。

顺便说一句,我正在从tfileproperties组件获取文件大小,并检查它们是否在数据库和本地文件文件夹/ dir中相同,并且仅当它继续处理时才可用!

我的工作流程如下:

Job flow components

解决方法

您的查询正在将tFileList中的FileName与数据库中的FileName进行比较。为了实现所需的功能,我认为您还应该在此查询中比较FileSize。然后,您可以在RUNIF条件中检查tDBInput中的行数(使用全局变量tDBInput_2_NB_LINE)。如果为0,则表示没有匹配项,可以继续执行该过程