我正在尝试将数据从动态数据源插入到destinationDB 以及获取数据时的查询。也就是说,要插入的列和表可能会有所不同。但是,问题是列和表在destinationDB 的表中保存为行。这意味着虽然它是动态的,但我已经知道在哪里插入它以及它的列是什么。所以,是的,这就是我的问题的背景故事。
无论如何,问题出在插入端。我能够生成 SELECT 语句来获取数据源,并通过操纵数据来获取查询来获取数据。
这就是它现在的样子。请注意获取变量,这就是我生成 sql 查询的方式。
这就是它现在的样子。请注意获取变量,这就是我生成 sql 查询的方式。
Table 输入内部如下所示:
这是执行 SQL 语句:
看到动态部分了吗?无论如何,问题是插入脚本变量中的 ${INSERT_VALUES} 都是“?” 数据应该由表输入提供的字符。让我确定有多少列。
问题 1:正如您在“执行 SQL 语句”步骤中注意到的那样,我没有传递任何参数来提供“?” 在插件上。那是因为我不知道在那里标记什么,因为参数/列每次都不同。取决于要插入的表。有没有办法解决这个问题?问题 2:pentaho 是否允许类似的双重替换?将变量替换为其值并替换“?” 参数值?