需要创建一个我必须运行select语句的转换。选择值后,它应该更新状态,因此它不会再次处理相同的记录。
选择file_id,位置,名称,状态
来自文件
输出:
1,c / user /,abc,PROCESS
更新的输出应为:
1,c / user /,abc,INPROCESS
我是否可以进行数据库选择并缓存记录,以便它不会在PDI中的单个转换中再次处理相同的记录?所以我不需要更新数据库中的状态。与Informatica中的动态查找类似的东西。如果不是,那么在进行选择后更新数据库的最佳方法是什么。
答案 0 :(得分:1)
谢谢,这有帮助。由于PDI转换的多线程执行模型,您不会在单个转换中执行此操作;在转换结束之前,你不能指望一个变量被设置。
这样做的方法是在Job中放两个转换,并在作业中创建一个变量。第一个转换运行您的选择并将结果流入Set Variables
步骤。配置它以设置您在作业中创建的变量。接下来,运行包含Excel Input
步骤的第二个转换。将作业级别变量指定为文件名。
如果select提供了多个结果,则可以将文件名存储在Jobs文件结果区域中。您可以使用Set files in result
步骤执行此操作。然后,您可以将作业配置为针对每个结果文件运行一次第二次转换。