我如何将 db(oracle) 查询的结果存储为全局变量,以便在 talend 的 运行-IF 条件中使用?

How do i store the results from an db(oracle) query as a global variable to be used in a RUN-IF condition in talend?

我有一个 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 组件获取文件大小,并检查它们在数据库和本地文件中是否相同 folder/dir,只有在不同时才继续处理!

我的工作流程是这样的:

您的查询正在将 tFileList 中的文件名与数据库中的文件名进行比较。为了实现你想要的,我认为你还应该在此查询中比较 FileSize 。然后你可以在 RUNIF 条件下检查你的 tDBInput 中的行数(使用全局变量tDBInput_2_NB_LINE)如果为 0 那么你没有匹配项并且你可以继续这个过程