zoukankan      html  css  js  c++  java
  • kettle于javascript步骤错误处理

    javascript步骤错误处理

           假设你熟悉kettle误差特性转换。你可能想知道javascript步骤如何使用。骤用户界面机制是同样的,在javascript步骤右击,选择“定义错误处理”启用错误处理并配置。javascript代码能够识别错误行,并将他们转发到配置的错误处理步骤,通过使用_step_对象的putError()方法,须要下面几个參数:

    1)    RowMetaInterface对象描写叙述行结构

    2)    当前的错误行

    3)    在此行检測的错误数

    4)    错误描写叙述字符串(错误消息)

    5)    引起错误的字段名称(字符串)

    6)    错误代码(字符串)

    通常情况下,原始的,未经改动的输入行被传递到错误处理步骤。因此,前两个參数通常被指定为getInputRowMeta()和row。其它參数取决于你想怎么详细描写叙述所遇到的错误。javascript步骤定义错误处理配置能够配置那些字段输出到错误处理步骤。


    这个转换的样例首先生成随机字符串。为了说明目的,javascript步骤推断前面生成的字符缺少字母'a'和'K'就报错,每一个缺少字母就产生一个错误。

    javascript步骤包括下面代码:


     

    varshould_error_on_a= (value.indexOf("a") == -1)?

    1:0; varshould_error_on_k= (value.indexOf("k") == -1)?1:0; try{ if(should_error_on_a== 1 && should_error_on_k == 1){ throw{ message:"Value must contain 'a' and 'k'", nr_errors:2, field:"value", errcode:"ERR:003" } } elseif(should_error_on_a== 1){ throw{ message:"Value must contain 'a'", nr_errors:1, field:"value", errcode:"ERR:001" } } elseif(should_error_on_k== 1){ throw{ message:"Value must contain 'k'", nr_errors:1, field:"value", errcode:"ERR:002" } } //continue normally, passing the row on to the next step trans_Status= CONTINUE_TRANSFORMATION; } catch(e){ //divert the current row to the error step and do not pass anything to thenext step _step_.putError(getInputRowMeta(),row, e.nr_errors, e.message, e.field, e.errcode); trans_Status= SKIP_TRANSFORMATION; }


    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    C#调用存储过程带输出参数或返回值
    车辆售票坐位图
    C#操作SQL Server通用类
    Java基础知识总结
    Maven 安装与配置
    读取文件内容
    复制一个文件
    求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
    输入一个递增的顺序排序的二维数组和一个整数,判断数组中是否含有该整数
    在由N个元素构成的集合S中,找出最小元素C,满足C=A-B,其中A,B是都集合S中的元素,没找到则返回-1
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4800626.html
Copyright © 2011-2022 走看看