2016-06-17 6 views
3

Я использую PDI для удаления и вставки некоторых данных из БД. У меня есть следующая проблема. Я создаю две переменные START_DATE и END_DATE, которые используются для выбора данных, которые будут удалены из моей БД. Я могу получить их и запустить мое преобразование без ошибок в файле журнала, но когда я проверил, были ли данные удалены, я считаю, что это не так. Я отправляю проверенный мой шаг «DeleteProcedure», и он говорит «Ошибка конверсии: null». Я пробовал разные, чтобы принять переменные и передать их как строки, но я не смог решить эту проблему. Это не может быть ошибкой SQL, поскольку я тестировал ее с константой, и она работает.Pentaho Выполнение преобразования переменных SQL в нуль

Любые идеи? Я прикрепляю некоторые фотографии. Благодаря!

This is how I try to get my variables

I get my variables correctly

+0

Вы пробовали SQL-цитаты в SQL? Например: BETWEEN 'date ($ {START_DATE})' AND date ('$ {END_DATE)') ... –

ответ

1

В документации Execute SQL script говорит:

Note: When you have an issue, that the SQL is started at the initialization phase of the transformation and not for each row, make sure to check the option "Execute for each row" (see description below).

В вашем случае он выполняет во время фазы инициализации преобразования, поэтому он получает null значения вместо них с предыдущего шага.

+0

Это сработало. Благодаря! –

+0

В любом случае, вместо этого вы можете использовать шаг «Удалить». Это должно быть быстрее, когда речь идет о производительности. – mzy