Kettle PDI如何在Table输入之前定义参数

问题描述 投票:0回答:1

我正在将数据从一个数据库转换为另一个数据库,结构略有不同。在我的流程中,我需要从第一个数据库中读取来自前面步骤的id的数据。

这是我的流量enter image description here的形象

最后一步是我需要过滤数据的地方。查询是:

SELECT e.*,UNIX_TIMESTAMP(v.dataInserimento)*1000 as timestamp
FROM verbale_evento ve JOIN evento e ON ve.eventi_id=e.id
WHERE ve.Verbale_id=? AND e.titolo='Note verbale'

不幸的是,ve.Verbale_id是第一张表的第一栏(第一步)。如何定义按该字段过滤?

现在我有一个错误:

2017/12/22 15:01:00 - Error setting value #2 [Boolean] on prepared statement
2017/12/22 15:01:00 - Parameter index out of range (2 > number of parameters, which is 1).

我需要在整个转换结束时进行此查询。

kettle pentaho-spoon
1个回答
1
投票

您可以将先前的数据行作为参数传递。

但是,Table输入查询中的参数占位符数必须与传入数据流的字段数相匹配。此外,订单也很重要。

尝试使用选择值步骤将数据流修剪为仅要传递的字段,然后在表输入底部附近的“获取数据”框中选择该步骤。另外,检查“为每个输入行执行”。

© www.soinside.com 2019 - 2024. All rights reserved.