Как избежать вопросительного знака (?) Символа в PDI Pentaho в запросе - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь выполнить следующий запрос в PDI 7.1 на шаге «Выполнение инструкции SQL».

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

Это работает, но мне все еще интересно, есть ли способ убежать от этого персонажа.

1 Ответ

0 голосов
/ 13 сентября 2018

Эта давняя проблема возникает из-за использования readyStement с JDBC, которое ни Sun, ни Oracle никогда не решали.Согласно этому блогу ваше решение является лучшим.

...