kettle中使用javascript步骤和fireToDB函数实现自己定义数据库查询
kettle中使用javascript步骤和fireToDB函数实现自己定义数据库查询
如果你须要实现非传统的数据库查询操作。为了讨论这样的情景,我们如果你须要读取数据库中的正則表達式,然后检查输入的每行的字段匹配表达式的个数。
在javascript步骤运行数据库查询
在javascript步骤初始化的时候,查询数据库。获取正則表達式记录集。然后每一行的输入数据循环检查是否匹配表达式,假设匹配。记录变量加一,最后把结果写到到前行的新增字段中。
思路非常清楚,可是怎样在javascript步骤实现数据库查询?
这里介绍一个很实用的函数fireDb(),他须要事先在转换中定义好一个数据库连接作为參数。以及一个SQL查询语句參数,这里的sql仅仅能是select查询语句,由于fireDb()函数没有事务或错误处理。返回值是记录行的数组,每行是一个有多个字段的数组。
以下是代码片段。这段代码仅仅运行一次,最好放在initialization tab,这样能够提高javascript步骤的运行效率。
// read all rules from Scrapbook DB
var xArr =fireToDB("Scrapbook", "SELECT rule FROM rules;");
var regex = [];
// for each row, save the returned rulefor later use
for (var i in xArr){
regex.push(xArr[i][0]);
}
以下这些代码是每行都要运行的;
var rules_matched = 0;
var jstr = newjava.lang.String(string_to_test);
// count matching rules
for(var i in regex){
varrule = regex[i];
if (jstr.matches(rule)){
rules_matched++;
}
}
能够在这里下载演示样例,试试fireDb()函数的使用方法,演示样例中mysql的演示样例数据的SQL语句。当中代码中“Scrapbook”是转换中定义的与mysql数据库连接的名称。
kettle中使用javascript步骤和fireToDB函数实现自己定义数据库查询相关推荐
- .net中前台javascript与后台c#函数相互调用
1.如何在JavaScript访问C#函数? 2.如何在JavaScript访问C#变量? 3.如何在C#中访问JavaScript的已有变量? 4.如何在C#中访问JavaScript函数? 问题1 ...
- [译]如何在visual studio中调试Javascript
本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...
- 《JavaScript权威指南第7版》第15章 Web浏览器中的JavaScript 15.1 15.2 15.3
第15章 Web浏览器中的JavaScript 15.1 网络编程基础 15.1.1 HTML script 标签中的JavaScript 模块 指定脚本类型 脚本运行时:异步和延迟 按需加载脚本 1 ...
- MYSQL中最基础的的聚合函数(重点!)
一.聚合函数的介绍 在数据库查询过程中,不仅只返回数据的基础信息,有时还需对这些数据进行统计和汇总.MySQL 提供了聚合函数,用于实现这些高级功能. 二.聚合函数的基础运用 聚合函数用于对一组值进行 ...
- JavaScript 中的 Hoisting (变量提升和函数声明提升)
如何将 函数声明 / 变量 "移动" 到作用域的顶部. 术语 Hoisting(提升) 在很多 JavaScript 博文中被用来解释标识符的解析.其实 Hoisting(提升) ...
- [译] ES6+ 中的 JavaScript 工厂函数(第八部分)
本文讲的是[译] ES6+ 中的 JavaScript 工厂函数(第八部分), 原文地址:JavaScript Factory Functions with ES6+ 原文作者:Eric Elliot ...
- kettle于javascript步骤错误处理
javascript步骤错误处理 假设你熟悉kettle误差特性转换.你可能想知道javascript步骤如何使用.骤用户界面机制是同样的,在javascript步骤右击,选择"定义错误处理 ...
- asp.net中前台javascript与c#函数相互调方法
C#代码与javaScript函数的相互调用 问题: 1.如何在JavaScript访问C#函数? 2.如何在JavaScript访问C#变量? 3.如何在C#中访问JavaScript的已有变量? ...
- java 调用js脚本_Java中使用JavaScript脚本的方法步骤
简介 Nashorn Nashorn 一个 javascript 引擎. 从JDK 1.8开始,Nashorn取代Rhino(JDK 1.6, JDK1.7)成为Java的嵌入式JavaScript引 ...
最新文章
- SAP ABAP BAPI_GOODSMVT_CREATE的几个应用
- Jmeter脚本录制(APP)
- Sublime Text 3下Emmet使用技巧
- springboot微信支付pc页面生成二维码
- Spring 三种注入方式
- C语言小算法:ACSII码(多字节)和Unicode(宽字节)互转
- 自学Java开发一般需要多久?
- Windows 10原创知识题(第三版)
- Java——Session使用
- OpenSSL密码库算法笔记——第2.4章 三种模运算的比较
- 如何确定自己的科研课题?
- 2007年个人回忆与总结
- greenplum,teradata,presto,clickhouse四种分布式数据库的对比
- 网站如何过服务器的白名单,服务器怎么添加域名白名单
- Smoke Loader、AZORult***通过虚假海啸警报传播到了日本
- 机器视觉——光源选型原理及使用方法
- php curl get 返回空,php-cURL从有效url返回空输出-没有错误报告
- 2019秋季PAT甲级考试总结:努力+策略+运气
- 看---1500应届硕士竞聘猪肉佬
- 离散数学及其应用课程复习Kenneth H.Rosen
热门文章
- 楼层平面放线及标高实测记录_没去过工地?没有施工经验?市政工程施工测量放线方法总结!...
- apply与applymap的区别
- python量化交易2019_2019 量化交易策略实盘总结和一些展望
- 3分钟入门python_3分钟学完Python,直接从入门到精通「史上最强干货库」
- 【企业管理】2019年12 月 每日花语
- 2021-04-21--中标麒麟-yum源修改
- Vue中父组件调用子组件的方法
- GitLab怎样实现新建仓库并允许开发者推送代码实现协同开发
- Linux-Ubuntu中使用apt进行软件的安装与卸载
- MyBatisPlus中使用 @TableField完成字段自动填充