Search

Home

INPUT SQL

INPUT SQL

Operator INPUT SQL umożliwia pobranie danych z zewnętrznych źródeł – przede wszystkim baz danych SQL (np. PostgreSQL, MS SQL Server, Oracle, MySQL, SQLite jak również z baz korzystających ze sterowników ODBC, OleDb) oraz plików Excel – i przekształcenie ich w strumień danych, który zostanie wprowadzony na magistralę wyjściową operatora.

Dane są pobierane na podstawie zapytania SQL zdefiniowanego w konfiguracji operatora. Zapytanie to może korzystać z:

Wynik działania operatora to magistrala danych zawierająca rekordy odpowiadające rezultatowi zapytania. Kolumny tej magistrali są automatycznie dopasowywane do struktury danych zwracanej przez źródło.

Operator INPUT SQL wykorzystywany jest najczęściej jako pierwszy krok w procesach integracyjnych, w których dane źródłowe są pobierane z zewnętrznych baz danych lub arkuszy kalkulacyjnych, a potem dalej przetwarzane w ramach aplikacji GRAVITY.

Przykład projektu GRAVITY zbudowanego z użyciem operatora INPUT SQL.

image

WYBÓR I TWORZENIE POŁĄCZENIA DO BAZY DANYCH

Przejdź na pierwszą zakładkę Physical link we właściwościach operatora.

image

Jeśli połączenie zostało już utworzone, wybierz je z listy Connection. System automatycznie wypełni pola zgodnie z konfiguracją wybranego połączenia.

image

Możesz zmienić dane połączenia za pomocą przycisku Edit.

icon
Pamiętaj, że jeśli połączenie jest już wykorzystywane na innym operatorze, to on również będzie działał na zmodyfikowanym połączeniu.

Jeśli nie masz jeszcze zdefiniowanego odpowiedniego połączenia do bazy danych, możesz je dodać za pomocą przycisku Add.

image

Po uzupełnieniu danych nowego połączenia możesz je przetestować przyciskiem Test connection i zapisać w systemie przyciskiem Save.

image

Po zapisaniu połączenie będzie dostępne w systemie pod nazwą podaną w polu Name.

icon
Więcej informacji o tworzeniu połączeń do bazy danych znajdziesz w rozdzialeNowe połączenie do bazy danych SQL.

TWORZENIE ZAPYTANIA DO BAZY DANYCH

Przejdź do zakładki Statement w celu utworzenia zapytania do bazy. Zapytanie jest wpisywane w języku SQL.

image

W zapytaniu SQL możesz użyć parametrów zdefiniowanych w zakładce Parameters. Wyboru parametru możesz dokonać poprzez wskazanie słownika.

image

W zapytaniach SQL możesz używać również metajęzyka pozwalającego na doklejenie części zapytania w zależności od spełnienia warunku lub nie.

  • Konstrukcja sprawdzająca warunek: {[wyrażenie] ? “wyrażenie spełnione” : “wyrażenie niespełnione”}
  • przykładowe użycie w kodzie SQL:

    select id, name from g.customer {@id != null && @id != 0 ? " where and id = @id" : ""}

  • Konstrukcja dodająca tekst w apostrofach: {TO_SQLTEXT([tekst doklejany])}
  • przykładowe użycie w zapytaniu:

    select id, name, {TO_SQLTEXT(@email)} as email from g.customer

  • Konstrukcja dodająca tekst bez żadnej ingerencji: {TO_PURE_VALUE([text doklejany])}
  • przykładowe użycie w zapytaniu:

    select id, name from {TO_PURE_VALUE(@schema)}.customer

USTAWIENIE PARAMETRÓW OPERATORA

Możesz zadeklarować dowolną liczbę parametrów, które mogą być użyte w zapytaniu SQL. Utworzone parametry stają się parametrami projektowymi, tak więc możesz je wykorzystać również na każdym operatorze w projekcie.

image

PRZYROSTOWE POBIERANIE DANYCH

Pobieranie danych może odbywać się drogą przyrostową: wystarczy na podstawie dostępnego słownika ustawić na zakładce Incremental download parametr Incremental downloading na With incremental action.

image

W sytuacji, kiedy zdecydujesz się na metodę przyrostową, musisz wskazać kolumnę kluczową (tough postition column). Dodatkowo możesz wskazać warunki, które muszą być spełnione, aby system przyjął wartość kolumny jako ostatnią pobraną po zakończeniu procesu przetwarzania. Wartość ostatnio pobrana może być czyszczona za pomocą opcji CLEAR VALUE.

image
icon
Deklaracja metody przyrostowej nie jest widoczna w opcji STATEMENT w postaci kodu SQL. Kod SQL odpowiadający za powyższy mechanizm powstaje automatycznie (jest generowany przez GRAVITY) podczas akcji pobierania danych, zawężając pobierany strumień danych.