我正在尝试将Talend Open Studio用于BI学校项目的数据集成。我有一个包含以下数据的txt文件:
NoClient;Name;Region;State;City;Postcode
24;Edna Thomas;West;California;Laguna Niguel;92677
我使用job来转换数据并将其插入表中。它工作得很好。
现在,我想处理SQL错误。例如,如果DB中指定的列长度为10,并且作业尝试在该列中插入11长度数据,则会出现SQL错误。
我怎样才能实现它? tMysqlOutput中是否有特定功能,或者我应该在插入之前使用这样的触发器来检查数据:
CREATE TRIGGER my_trigger
BEFORE INSERT
ON my_table
FOR EACH ROW BEGIN
IF (SELECT LENGTH(NEW.Noclient)>255) THEN
// instructions
END IF
希望它足够清楚!提前谢谢,抱歉英语不好: - )
答案 0 :(得分:1)
也许你可以检查tmap中的每个变量。
例如:
StringHandling.LEN(var) <= 10 ? var : StringHandling.LEFT(var,10)
你可以适应你场地的大小。
答案 1 :(得分:1)
有一个组件:tSchemaComplianceCheck 一个很好的例子可以在: http://dwetl.com/2015/03/30/data-validation-using-tschemacompliancecheck/