我正在尝试在“执行SQL语句”步骤中的PDI 7.1中执行以下查询。
update table_x set text = '? rows where update using https://example.net?param=1' where 1=1
问题在于,第一个问号对应于我从上一步获得的参数,而第二个问号对应于URL,因此需要按原样保存。这会使作业失败并出现IndexOutOfBounds异常,因为水壶将URL问号当作参数来使用。
我试图逃脱如下,但没有结果:
但没有人起作用。
最后,我决定在上一步中创建一个url参数,然后按如下所示使用它:
update table_x set text = '? rows where update using ?' where 1=1
这行得通,但是我仍然想知道是否有办法逃脱这个角色。
答案 0 :(得分:1)
这个长期存在的问题来自Sun和Oracle都从未解决过的将prepareStement与JDBC一起使用。根据{{3}},您的解决方案是最好的。