Передайте параметры подключения DB к таблице PDI Kettle a.k.a. Динамически введите шаг ввода в Excel.
У меня есть требование, чтобы всякий раз, когда я запускаю задание Kettle, параметры подключения к базе данных должны выполняться динамически из источника excel при каждом запуске.
Скажем, у меня есть excel с именами столбцов: HostName, Username, Database, Password.
Я хочу динамически передавать эти параметры подключения на мой шаг ввода таблицы каждый раз, когда выполняется задание.
Это то, что я пытался сделать.
![enter image description here]()
Ответы
Ответ 1
Вы можете достичь этого с помощью
- чтение параметров подключения DB из источника (например, Excel или в моем примере CSV файл)
- сохранение параметров в переменных
- используя переменные в настройках подключения.
Действуйте следующим образом
- Создайте другое преобразование для установки переменных (вы не можете сделать это в том же преобразовании, которое его использует):
![Transformation for setting the variables]()
В элементе Set Variables задайте переменные:
![Configuring the variables]()
- В элементе чтения/записи ваших данных создайте новое соединение и установите параметры соединения с помощью
${variable_name}
. Обратите внимание, что вы должны вслепую написать ${password}
в соответствующее поле. Также обратите внимание, что это может быть проблема безопасности, поскольку значение может отображаться как обычный текст в файлах журналов!
![Configuring the DB connection]()
- В вашей работе сначала вызовите преобразование переменных, а затем функциональную часть:
![Job]()
Ответ 2
Все, что вам нужно - это вход XLS и шаг Set Variables. Определите переменные как действительные в корневом задании, и вы можете использовать их в последующих заданиях, если они вызываются одним и тем же заданием root, при определении соединения.
"Копировать строки в результат" и "Получить строки из результата" используются для отправки информации (строк данных) из одного преобразования в следующее преобразование или задание в том же родительском задании. Они не используются для отправки данных между шагами, для чего предназначены прыжки.