Error handling 遍历文件夹-处理不包含';t-fit模式

Error handling 遍历文件夹-处理不包含';t-fit模式,error-handling,etl,talend,Error Handling,Etl,Talend,我有一个包含多个xlsx文件的目录,我想做的是将文件中的数据插入数据库 到目前为止,我已经通过使用tFileList->tFileInputExcel->tPostgresOutput解决了这个问题 当其中一个文件与定义的架构不匹配,并返回因工作流中断而导致的错误时,我的问题就开始了 我需要弄清楚的是,是否可以跳过该文件(例如,将其移动到另一个文件夹)并继续迭代现有文件的其余部分 如果我选中“Die on error”(错误时死亡)选项,则进程结束,不会处理其余文件。我将通过将tFileInpu

我有一个包含多个xlsx文件的目录,我想做的是将文件中的数据插入数据库

到目前为止,我已经通过使用tFileList->tFileInputExcel->tPostgresOutput解决了这个问题

当其中一个文件与定义的架构不匹配,并返回因工作流中断而导致的错误时,我的问题就开始了

我需要弄清楚的是,是否可以跳过该文件(例如,将其移动到另一个文件夹)并继续迭代现有文件的其余部分


如果我选中“Die on error”(错误时死亡)选项,则进程结束,不会处理其余文件。

我将通过将tFileInputExcel上的初始输入模式设置为全部字符串来实现这一点

读取文件后,我将使用设置为“使用另一个模式进行符合性检查”的tSchemaComplianceCheck验证模式

然后,您应该能够将tSchemaComplianceCheck中的拒绝链接连接到配置为将文件移动到新目录的tFileCopy(如果您希望它移动文件,则只需勾选“删除源文件”)

下面是一个简单的例子:

将以下内容设置为符合性检查的另一个模式(注意它现在如何检查
id
age
是整数):

然后移动文件:


如果要插入到数据库中,则来自tSchemaComplianceCheck的主流可以仅使用字符串继续。如果您正在执行任何需要正确数据类型的处理,或者您正在使用tPostgresOutput组件创建表,则在此之后,您可能希望使用tConvertType将内容更改回正确的数据类型。

感谢您的回复。这似乎很接近我想要的。请再给我澄清一件事。在那个例子中,tSchemaComplianceCheck就像一个“如果”一样工作,对吗?因此,如果文件中的某些行符合模式,它们将被插入到DB中。。还是不?在我的例子中,如果文件与模式不匹配,我不想插入任何行。谢谢:)是的,它就像一个过滤器。如果文件有与指定模式不匹配的任何行,那么它被拒绝并发送到拒绝链接而不是主链接。如果答案帮助了你,那么考虑接受答案并对其进行投票,以便其他具有相同问题的人可以更容易地找到解决方案。如果这对你没有帮助,那么在评论中寻求进一步的帮助,或者在你的问题中添加细节。