Как использовать переменную для базы данных Log Connection name в Pentaho Kettle Job, работающем на Carte? - PullRequest
0 голосов
/ 16 мая 2018

Я хотел бы параметризовать, какое (предопределенное и параметризованное) подключение к базе данных журнала использовать, например, data.import.log.db=LOG_DB: enter image description here

, но я не могу заставить его работатьпараметр задания data.import.log.db или установка переменной data.import.log.db в вызывающем родительском задании.

Единственный способ, который я вижу, - установить переменную в kettle.properties или как переменную из командной строки.Но если задание выполняется в Carte, я бы хотел, чтобы вызывающая сторона решала, какое соединение журнала использовать - иногда вызывающая сторона решает вообще не регистрировать (пустая переменная).Я что-то упускаю из-за того, как передать эту переменную в соединение с журналом заданий?

Заранее благодарим за конструктивные советы и объяснения.

- edit: использование PDI CE 8.0.0-28.

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Боюсь, вы не можете.Параметры журнала определяются в самом начале процесса, задолго до того, как будет прочитана переменная задания / трансферы.

Что вы можете сделать, это войти в таблицу tmp и позволить вызывающей стороне решить, нужно ли ей копировать таблицу и куда с прямым преобразованием.

Недостаток этого метода -параллельные работы.Преобразование копии затем должно принять решение на основе номера канала.

0 голосов
/ 16 мая 2018

Вы не можете параметризовать имя соединения.

Вы можете параметризировать его свойства (например, хост, порт, имя пользователя и пароль), но не само имя соединения.

...