Pentaho:如何通过PDI / Kettle数据源传递SQL SELECT查询?

时间:2017-11-06 13:11:20

标签: pentaho kettle pentaho-cde

我只是创建一个创建SQL SELECT字符串的按钮。 我想使用已注册的PDI Kettle转换作为数据源来执行它。

问题:如何将我的SQL字符串参数传递给我注册为数据源的简单PDI Ketle转换,在ajax中执行并在json回调中获取结果。

我的Pentaho PDI / Kettle转换在这里并在Pentaho CDE注册: kettledatasource

这是按钮和功能的开头:js buttonjs button in CDE,代码开头:js button code

1 个答案:

答案 0 :(得分:0)

简答:不要。

答案很长:查询可以在您应用的Javascript层中访问,并且可以被恶意用户查看/编辑。

如果您直接传递整个查询(顺便说一句),您可以打开一个大型安全组件,恶意用户可以使用浏览器控制台轻松替换查询,并将任何SQL语句注入您的应用程序,包括Drop声明。

应该对查询进行参数化,并且只将参数值传递给SQL查询。 CDA在一定程度上对参数进行了清理,因此删除了单引号等恶意字符。

但整个查询?只是不要。