Kettle 如何在查询中转义PDI Pentaho中的问号(?)字符
我试图在PDI7.1中的执行SQL语句步骤中执行以下查询Kettle 如何在查询中转义PDI Pentaho中的问号(?)字符,kettle,pdi,Kettle,Pdi,我试图在PDI7.1中的执行SQL语句步骤中执行以下查询 update table_x set text = '? rows where update using https://example.net?param=1' where 1=1 问题是,第一个问号对应于我从上一步获得的参数,但第二个问号对应于URL,因此需要按原样保存。这会导致作业失败,并出现IndexOutOfBounds异常,因为kettle将url问号当作参数使用 我曾尝试如下方式逃跑,但没有结果: \? ? (?) 但
update table_x set text = '? rows where update using https://example.net?param=1' where 1=1
问题是,第一个问号对应于我从上一步获得的参数,但第二个问号对应于URL,因此需要按原样保存。这会导致作业失败,并出现IndexOutOfBounds异常,因为kettle将url问号当作参数使用
我曾尝试如下方式逃跑,但没有结果:
- \?
- ?
- (?)
update table_x set text = '? rows where update using ?' where 1=1
这是可行的,但我仍然想知道是否有办法摆脱这个角色。这个长期存在的问题来自于在JDBC中使用preparedStement,Sun和Oracle都没有解决这个问题。根据需要,您的解决方案是最好的。尝试使用反斜杠<代码>更新表格\u x集合文本='\?使用https://example.net?param=1'其中1=1。反斜杠常用于多种语言中的转义序列。@Martin我在问题中指出了反斜杠。