kettle中使用javascript步骤和fireToDB函数实现自定义数据库查询
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了kettle中使用javascript步骤和fireToDB函数实现自定义数据库查询,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1663字,纯文字阅读大概需要3分钟。
内容图文
![kettle中使用javascript步骤和fireToDB函数实现自定义数据库查询](/upload/InfoBanner/zyjiaocheng/561/0c59f626f4d2441582805999d16c523b.jpg)
kettle中使用javascript步骤和fireToDB函数实现自定义数据库查询 假设你需要实现非传统的数据库查询操作,为了讨论这种情景,我们假设你需要读取数据库中的正则表达式,然后检查输入的每行的字段匹配表达式的个数。 在javascript步骤执行数据库查询 在javasc
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函数实现自定义数据库查询 - 文章图片](/upload/getfiles/0001/2021/4/26/20210426015717496.jpg)
内容总结
以上是互联网集市为您收集整理的kettle中使用javascript步骤和fireToDB函数实现自定义数据库查询全部内容,希望文章能够帮你解决kettle中使用javascript步骤和fireToDB函数实现自定义数据库查询所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。