我只是创建一个创建SQL SELECT字符串的按钮。 我想使用已注册的PDI Kettle转换作为数据源来执行它。
问题:如何将我的SQL字符串参数传递给我注册为数据源的简单PDI Ketle转换,在ajax中执行并在json回调中获取结果。
我的Pentaho PDI / Kettle转换在这里并在Pentaho CDE注册: kettle和 datasource
这是按钮和功能的开头:js button,js button in CDE,代码开头:js button code
答案 0 :(得分:0)
简答:不要。
答案很长:查询可以在您应用的Javascript层中访问,并且可以被恶意用户查看/编辑。
如果您直接传递整个查询(顺便说一句),您可以打开一个大型安全组件,恶意用户可以使用浏览器控制台轻松替换查询,并将任何SQL语句注入您的应用程序,包括Drop声明。
应该对查询进行参数化,并且只将参数值传递给SQL查询。 CDA在一定程度上对参数进行了清理,因此删除了单引号等恶意字符。
但整个查询?只是不要。