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;
}
版权声明:本文博主原创文章,博客,未经同意不得转载。
kettle于javascript步骤错误处理的更多相关文章
- KETTLE使用javascript步骤过滤特殊字符
KETTLE使用javascript步骤过滤特殊字符 使用kettle在抽取大量excel数据时.总是遇到excel中有一些特殊字符,导致ExecuteSQL script步骤运行失败,本文记录一些方 ...
- kettle modified javascript 步骤的一个例子
例子里用到的 org.htmlparser.Parser 是一个html 的解析器,可以在 sourceforge 上下载. 这个例子使用 org.htmlparser.Parser 包来解析一个 h ...
- kettle中使用javascript步骤和fireToDB函数实现自己定义数据库查询
kettle中使用javascript步骤和fireToDB函数实现自己定义数据库查询 如果你须要实现非传统的数据库查询操作.为了讨论这样的情景,我们如果你须要读取数据库中的正則表達式,然后检查输入的 ...
- Eclipse去除JavaScript验证错误
这篇文章主要是对Eclipse去除js(JavaScript)验证错误进行了介绍.在Eclipse中,js文件常常会报错.可以通过如下几个步骤解决 第一步: 去除eclipse的JS验证: 将wind ...
- 【转】Eclipse去除js(JavaScript)验证错误
这篇文章主要是对Eclipse去除js(JavaScript)验证错误进行了介绍.在Eclipse中,js文件常常会报错.可以通过如下几个步骤解决 第一步:去除eclipse的JS验证:将window ...
- JavaScript 的错误(Error)与异常(Exception)处理
PHP很少用到错误处理,因为框架帮了大忙,所以基本上没有主动接手过PHP的错误.PHP是偏后端的动态处理语言,和用户的关系不大,所以用户不会关心是否出现了报错.但是JavaScript就非常不同了,j ...
- Kettle中JavaScript内置函数说明
本文链接:https://blog.csdn.net/u010192145/article/details/102220563 我们在使用JavaScript组件的时候,在左侧核心树对象栏中可以看到K ...
- javascript的错误处理
1 onerror事件,实例代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind= ...
- kettle转换JavaScript获取命令行参数
日常开发中由于很多参数是变化的,需要在部署时才能确定.而写在配置文件里又显得很笨重,因而可以运行时实时指定.那么kettle是怎么获取命令行中的参数的呢? kettle可以通过转换里的JavaScri ...
随机推荐
- Windows Phone 8 - Runtime Location API - 2
原文:Windows Phone 8 - Runtime Location API - 2 在<Windows Phone 8 - Runtime Location API - 1>介绍基 ...
- iOS缓存类的设计
使用执行速度缓存的程序可以大大提高程序,设计一个简单的缓存类并不需要太复杂的逻辑. 只需要一个简单的3接口. 存款对象 以一个对象 删除对象 阅读对象 watermark/2/text/aHR0cDo ...
- POJ1469_COURSES(二部图最大匹配)
解决报告 http://blog.csdn.net/juncoder/article/details/38136065 题目传送门 题意: n个学生p门课程,每一个学生学习0或1以上的课程. 问:能否 ...
- MySQL InnoDB存储引擎undo redo解析
本文介绍MySQL数据库InnoDB存储引擎重做日志漫游 00 – Undo Log Undo Log 为了实现事务原子,在MySQL数据库InnoDB存储引擎,还使用Undo Log(简称:MVCC ...
- POJ 1384 Piggy-Bank 背包DP
所谓的全然背包,就是说物品没有限制数量的. 怎么起个这么intimidating(吓人)的名字? 事实上和一般01背包没多少差别,只是数量能够无穷大,那么就能够利用一个物品累加到总容量结尾就能够了. ...
- 【Android进阶】判断网络连接状态并自动界面跳转
用于判断软件打开时的网络连接状态,若无网络连接,提醒用户跳转到设置界面 /** * 设置在onStart()方法里面,可以在界面每次获得焦点的时候都进行检测 */ @Override protecte ...
- 使用Bootstrap 他写道网站
新发现vdceye有些难看的网站,为了找到一个bootstrap工具,我一次又一次地写信给网站 这个工具是很容易使用 http://vdceye.com/ 版权声明:本文博客原创文章,博客,未经同意, ...
- 读书笔记之SQL注入漏洞和SQL调优
原文:读书笔记之SQL注入漏洞和SQL调优 最近读了程序员的SQL金典这本书,觉得里面的SQL注入漏洞和SQL调优总结得不错,下面简单讨论下SQL注入漏洞和SQL调优. 1. SQL注入漏洞 由于“' ...
- 编程基础——C/C++,Java,ObjC讨论回调模式
什么是回调? 因为它是从C开始进入编程世界.术语改只是口.叫习惯了.java里通常叫listener(监听器).C/C++里通常叫callback(回调),ObjC里面叫delegate(托付) 回调 ...
- 不一样的是不一样的,我的独家滚动条------Day35
在您开始建立自己的,感觉应该先录一个概念:内核的浏览器. 兼容性问题之前多次提及,而在平时经常会遇到兼容性问题.原因,就在于它:浏览器内核.这是比較通俗的说法,事实上应该把它描写叙述的专业点:Rend ...