Компонент SQL-запрос

Описание

Позволяет производить действия в БД, а также передавать параметры (на вход и на выход).
В качестве параметров выступают переменные сценария.
Подключение к серверу БД осуществляется по строке подключения. Обращение к БД происходит через ODBC и требует наличия в ОС соответствующих драйверов.

В случае ошибки переход осуществляется по ветке «Ошибка», и в переменную «Код ошибки» возвращается соответствующий код исключения БД.

Возврат значений из БД происходит в табличном виде. Сохранение значений в переменные осуществляется по принципу идентичности имен столбцов в последнем из вернувшихся датасетов и переменных сценария. Переменным присваиваются значения из последней строки последнего датасета.

Table 1. Системные характеристики

Индекс

112

Краткое название

sql

Типы сценариев

Все

Стартовый модуль

r_script_component_sql

Режим

Асинхронный

Иконка

112

Характер разветвления

Разветвляющий, замыкающий

Свойства

Table 2. Свойства
Спецификация Описание

Название: База Данных
Код: serverType
Усл. видимости: нет
По умолчанию: Другая

БД для подключения.
Возможные варианты:

  • Проектная (project_psql, 4) – Проектная БД домена (PosgtreSQL), строка подключения к которой берется из настроек домена (settings → project_postgresql_connstr).

  • Другая (other, 2) – Другая БД.

Название: Драйвер
Код: driverType
Усл. видимости: да
По умолчанию: PSQL

Возможные варианты:

  • ODBC (odbc, 0) – подключение через драйвер ODBC.

  • PSQL (psql, 1) – подключение через внутренний адаптер к PostgreSQL.

Для режима указания БД Другая.

Название: Строка соединения
Код: sqlConnection
Усл. видимости: да
По умолчанию: ``

Строка подключения к БД.
Для режима указания БД Другая.

Пример для odbc драйвера
Driver={SQL Server Native Client 11.0};
Server=192.168.0.73,14350;
Database=testbase;
UID=test;
PWD=123;
Пример для psql драйвера
Driver={PostgreSQL Unicode(x64)};
Server=127.0.0.1;
Port=5433;
Database=era_dummy_central_common;
Uid=erapgadmin;
Pwd=123456;
или аналогично формату в конфигурации:
host:127.0.0.1,port:5432,login:erapgadmin,pwd:123456,database:postgres

Название: Время, с
Код: timeoutSec
Усл. видимости: нет
По умолчанию: 30

Таймаут на выполнение запроса к БД.

Название: Запрос
Код: sqlQuery
Усл. видимости: нет
По умолчанию: — 

Тело SQL-запроса.

Пример для ODBC:
INSERT INTO EMPLOYEE (NR, FIRSTNAME, LASTNAME, GENDER)
VALUES (?, ?, ?, ?)
Пример для PSQL:
SELECT name as a, birthdate::varchar as b,Where id = $1 or code = $2

Если запрос возвращает таблицу значений из нескольких строк, то в переменные сохраняется произвольная строка.
При этом сопоставление значений производится по именам столбцов в датасете выдачи и переменных.

Возвращаемые специальные значения null, true, false преобразуются в строковое представление при сохранении в переменные сценария.

Название: Параметры запроса
Код: sqlParamsV
Усл. видимости: нет
По умолчанию: — 

Списочное значение, устанавливающее параметры для запроса.

Порядок параметров строго соответствует порядку применения параметров в запросе.

Название: Кодировка
Код: encoding
Усл. видимости: нет
По умолчанию: utf-8

Кодировка, в которой следует сохранить строковые значения в переменных.
Возможные варианты:

  • utf-8 (1)

  • cp1251 (2) – Кодовая страница windows-1251 (кириллица)

Название: Код ошибки
Код: Код ошибки
Усл. видимости: да
По умолчанию: — 

Переменная для сохранения кода ошибки.

Название: Название ошибки
Код: errCodeName
Усл. видимости: да
По умолчанию: — 

Переменная для сохранения названия ошибки.

Название: Переход
Код: transfer
Усл. видимости: нет
По умолчанию: — 

Компонент, которому передается управление после успешного завершения запроса.

Название: Переход, время
Код: transferTimeout
Усл. видимости: нет
По умолчанию: — 

Компонент, которому передается управление после истечения таймаута до получения ответа на запрос.

Название: Переход, ошибка
Код: transferError
Усл. видимости: нет
По умолчанию: — 

Компонент, которому передается управление в случае возникновения ошибки при подготовке или выполнении запроса.

См. также