SSIS – Zapytanie, zmienne i MessageBoxy

W tym odcinku pokażę jak wykorzystać zmienne do prostego zapytania na bazie oraz wyświetlenia potem odpowiedniego komunikatu (MessageBox). Tworzymy nowy projekt i umieszczamy w nim dwa komponenty (Execute SQL Task i Script Task) po czym łączymy je ze sobą.

Klikamy prawym klawiszem myszy na polu naszego projektu i otwieramy okno zmiennych (Variables)

W oknie klikając na pierwszą ikonkę tworzymy nową zmienną i nazywamy ją VarLudzie typu Int32.

Teraz klikamy na nasz pierwszy komponent Execute SQL Task

Nim cokolwiek wpiszemy w ustawieniach naszego komponentu wykonujemy na naszej bazie danych proste zapytanie

Jak widać zapytanie zwróciło nam liczbę wierszy 19972. W ustawieniach komponentu wybieramy nasz połączenie do bazy (Connection).

W oknie SQLStatement wpisujemy nasze zapytanie.

W ResultSet zmienamy opcję na SingleRow

Przechodzimy do zakładki Result Set i wybieramy zapomocą przycisku ADD z listy naszą zmienną.

W kolumnie ResultName wpisujemy 0 (zero) jako że wzracana będzie tylko jeden wynik (jako pierwsza kolumna tabeli licząc od zera). Jeśli by było więcej kolumn w wyniku naszego zapytania oznaczylibyśmy je kolejno 0,1,2 itd

Aby sprawdzić co zwraca nasze zapytanie możemy założyć BreakPointa na naszym projekcie który spowoduje zatrzymanie się wykonywania na pierwszym kroku abyśmy mogli prześledzić jakie wartości przyjmują zmienne.
W tym celu klikamy na naszym pierwszym komponencie i wybieramy Edit Breakpoint

Wybieramy z listy drugą opcję „Break when the container receives the OnPostExecute event”

Potwierdzamy przyciskiem OK i uruchamiamy projekt.

Jak widać projekt zatrzymał się na naszym Breakpoint-cie.

Klikająć w ikonkę zmiennych (kostka) otworzy się nam okno ze zmiennymi.

Musimy tylko teraz przeciagnąć naszą zmienną (VarLudzie) do okna WATCH 1.

Jak widać zmienna przyjęła wartość 19972 czyli wszystko jest OK, więc wyłączamy nasz Breakpoint

Teraz zajmiemy się naszym drugim komponentem (Script Task) który będzie miał za zadanie wyświetlenie naszego wyniku za pomocą MessageBox-a. Klikamy w nasz komponent.

W ReadWriteVariables wybiarmy naszą zmienną przekazaną przez wcześniejszy komponent.

następnie klikamy w EDIT SCRIPT. Po otwarciu nowego okna Visual Studio znajdujemy w treści skryptu fragment

i modyfikujemy dodajemy do niego linie

string strMessage = Dts.Variables["User::VarLudzie"].Value.ToString();
MessageBox.Show(strMessage);

Wklejamy tekst tak jak poniżej

Zapisujemy skrypt, zamykamy okno Visual Studio, zapisujemy nasz projekt i uruchamiamy projekt

Powinno pojawić się okienko

Ten wpis został opublikowany w kategorii SSIS. Dodaj zakładkę do bezpośredniego odnośnika.

Dodaj komentarz