我在 pentaho 服务器中使用 CDE 创建了一个表单。此表单是一个带有一些输入字段的表格。单击按钮时会生成一个数组,该数组作为参数值发送。在 db 表中,我有 3 列:alfa、beta、gamma。
//var data = JSON.stringify(array);
var data = [
{"alfa":"some txt","beta":"another text","gamma": 23},
{"alfa":"stxt","beta":"anoxt","gamma": 43}
]
我创建了一个按预期运行的水壶转换。这 2 行数组被插入到数据库中,但是当我在 Pentaho 中的kettleTransFromFile 上使用 CDA 水壶运行相同的水壶转换时,只插入第一行。这是我的转变:
- 获取变量:数据(字符串)
修改后的 Java 脚本值:data_decode包含 json 数组
var data_decode = eval(data.toString());
JSON 输入:alfa - $..[0].alpha,beta - $..[0].beta,gamma -$..[0].gamma
- tableinsert - 插入数据库。
... 从勺子,水壶命令行都可以,但不是来自 Pentaho。怎么了?
谢谢!地理
更新
也许是错过配置或错误或功能,但我不使用这种方法。我找到了一个简单的方法:我在脚本数据源上创建了一个可编写脚本的脚本,其中包含一个简单的 java 代码(使用 beanshell)。现在它按预期工作。我将在 Sparkl 插件中移动此表单。谢谢你。
这个问题仍然悬而未决,也许有人想尝试这种方法。