2014-05-06 34 views
13

Mam takie wymaganie, że za każdym razem, gdy uruchamiam zadanie Kettle, parametry połączenia z bazą danych muszą być pobierane dynamicznie ze źródła programu Excel podczas każdego uruchomienia.Przekaż parametry połączenia DB do tabeli czajnika a.k.a PDI Krok wejściowy dynamicznie z Excela

Powiedz, że mam program Excel z nazwami kolumn: Nazwa hosta, Nazwa użytkownika, Baza danych, Hasło.

Chcę przekazać te parametry połączenia do mojego kroku wprowadzania tabeli dynamicznie, gdy zadanie zostanie uruchomione.

To właśnie próbowałem zrobić.

enter image description here

Odpowiedz

19

Można to osiągnąć przez

  • czyta parametry połączenia DB ze źródła (np Excel lub w moim przykładzie plik CSV)
  • przechowywania parametrów zmiennych
  • użyciu zmiennych w ustawienie połączenia.

postępować w następujący

  • Utwórz kolejną transformację do ustawiania zmiennych (nie można tego zrobić w tej samej transformacji, który go używa):

Transformation for setting the variables

W Ustaw zmienne element skonfiguruj zmienne:

Configuring the variables

  • W elemencie czytania/pisania danych utworzyć nowe połączenie i ustawić parametry połączenia przy użyciu ${variable_name}. Zauważ, że musisz pisać na ślepo ${password} w odpowiednim polu. Należy również pamiętać, że może to być problem związany z bezpieczeństwem, ponieważ wartość może być wyświetlana jako zwykły tekst w plikach dziennika!

Configuring the DB connection

  • W swojej pracy wywołać transformację zmienną, a potem część funkcjonalna:

Job

+0

Dziękujemy Marcus. Działa teraz absolutnie dobrze. Wielkie dzięki. Pozdrawiam, – Ritesh

+0

@Marcus uruchomi zadanie dla każdego wiersza w pliku wejściowym csv connexions? – mounaim

0

Wszystko czego potrzebujesz to wejście XLS i etap zestaw zmiennych. Zdefiniuj zmienne jako poprawne w zadaniu głównym i możesz ich używać w kolejnych zadaniach, o ile są one wywoływane przez to samo zadanie główne, podczas definiowania połączenia.

"Kopiuj wiersze do wyniku" i "Pobierz wiersze z wyniku" służą do wysyłania informacji (wierszy danych) z jednej transformacji do następnej transformacji lub zadania w tym samym zadaniu nadrzędnym. Nie są one używane do przesyłania danych między etapami, do czego służą chmiel.