DATABASE_READER
DATABASE_READER считывает данные из базы данных. Поддерживает подключение к СУБД PostgreSQL, Oracle, MySQL. Подробнее про подключение к базам данных можно прочитать в разделе Соединения с базами данных.
Порты DATABASE_READER:
Тип порта | Номер | Обязательный | Описание | Метаданные |
---|---|---|---|---|
Output | 0 | да | Для корректных записей | Любые, но одинаковые на всех подключённых портах |
1-n | нет |
Атрибуты DATABASE_READER:
Атрибут | Обязательный | Описание | Возможные значения |
---|---|---|---|
dbConnection | да | Идентификатор соединения с базой данных, которое будет использоваться для доступа к базе данных |
|
sqlQuery | да | SQL-запрос к базе, определенный в графе. |
|
Пример. Чтение записей из баз данных.
С помощью DATABASE_READER нужно прочитать данные из разных баз и записать ответы в текстовые файлы.
Решение:
-
Для чтения данных понадобится три компонента DATABASE_READER и три компонента FLAT_FILE_WRITER - для записи данных в файлы.
-
Создам подключения к базам postgres, sqlserver через локального клиента и к firebird через odbc. Везде буду подключаться к схеме
onebridge
, к таблицеmillion_row
. -
Для создания соединений с базами нужно на панели Outline выбрать в контекстном меню элемента Connection пункт New connection - для создания нового подключения или Link connection - для вставки ссылки на уже описанное в отдельном файле подключение. В редакторе новых соединений выбрать тип подключения и заполнить атрибут
URL
значениями параметров, необходимых для подключения.
Connection для postgres:
URL = "postgres://user:password@host:port/database;"
Connection для sqlserver:
URL = "sqlserver:server=sbar-dev-db02.sbar.local,port;user=username;password=password;"
Connection для firebird:
URL = "odbc:Driver={Firebird};User=username;Password=password;Database=sbar-dev-db03.sbar.local/3050:/opt/firebird/data/onebrige-dev.fdb;Charset=;Role=;ReadOnly=No;NoWait=No;"
- SQL-запрос для чтения данных из базы будет везде примерно одинаковый, его нужно вставить в атрибут sqlQuery внутри редактора каждого из шагов DATABASE_READER:
select BigIntColumn,
BooleanColumn,
CharColumn,
DateColumn,
from onebridge.million_row
order by BigIntColumn
limit 10
Этот запрос считает значения полей BigIntColumn
, BooleanColumn
, CharColumn
, DateColumn
из таблицы million_row
во внутреннюю память системы.
- С помощью метаданных, назначенных ребрам графа, данные будут переданы в FLAT_FILE_WRITER`ы, которые запишут их в текстовые файлы.