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 z sterownika 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:
- parametrów projektowych
- zmiennych globalnych
- metajęzyka GRAVITY (np. do dynamicznego budowania zapytań lub podstawiania wartości),
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 i dalej przetwarzane w ramach aplikacji GRAVITY.
Przykład projektu GRAVITY z użyciem operatora INPUT SQL.
WYBÓR I TWORZENIE POŁĄCZENIA DO BAZY DANYCH
Przejdź na pierwszą zakładkę Physical link we właściwościach operatora.
Jeśli masz już utworzone połączenie wybierz je z listy wyboru Connection pola połączenia zostaną wypełnione zgodnie z wybranym połączeniem.
Możesz zmienić dane połączenia klikając przycisk Edit.
Jeśli nie masz jeszcze zdefiniowanego odpowiedniego połączenia do bazy danych zawsze możesz je dodać wykorzystując przycisk Add.
Po uzupełnieniu danych nowego połączenia możesz je przetestować przyciskiem Test connection i zapisać w systemie przyciskiem Save.
Po zapisaniu połączenie będzie dostępne w systemie pod nazwą jaka została podana w polu Name.
TWORZENIE ZAPYTANIA DO BAZY DANYCH
Przejdź do zakładki Statement w celu utworzenia zapytania do bazy. Zapytanie do bazy jest wpisywane w języku SQL.
W zapytaniu SQL możesz użyć parametrów zdefiniowanych w zakładce Parameters. Wybór parametru, możesz dokonać poprzez wskazanie słownika
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”}
- Konstrukcja dodająca tekst w apostrofach:
{TO_SQLTEXT([tekst doklejany])}
- Konstrukcja dodająca tekst bez żadnej ingerencji:
{TO_PURE_VALUE([text doklejany])}
przykładowe użycie w kodzie SQL:
select id, name from g.customer {@id != null && @id != 0 ? " where and id = @id" : ""}
przykładowe użycie w zapytaniu:
select id, name, {TO_SQLTEXT(@email)} as email from g.customer
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ą (lecz nie muszą) być edytowane w trakcie przetwarzania przez użytkownika oraz są dostępne dla Twojego wyrażenia SQL, dla każdego operatora projektu.
PRZYROSTOWE POBIERANIE DANYCH
Pobieranie danych może odbywać się drogą przyrostową: wystarczy ustawić na zakładce Incremental download na podstawie dostępnego słownika parametr INCREMENTAL DOWNLOADING = WITH INCREMENTAL ACTION.
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.