Тип sql
KUMA поддерживает работу с несколькими типами баз данных.
Программа поддерживает работу со следующими типами баз данных SQL:
- SQLite.
- MsSQL.
- MySQL.
- PostgreSQL.
- Cockroach.
- Oracle.
- Firebird.
При создании коннектора вам требуется задать значения для общих параметров коннектора и индивидуальных параметров подключения к базе данных.
Для коннектора на закладке Основные параметры вам требуется задать значения следующих параметров:
Для подключения к базе данных на закладке Основные параметры вам требуется задать значения следующих параметров:
- URL (обязательно) – секрет, в котором хранится список URL-адресов для подключения к базе данных.
При необходимости вы можете изменить или создать секрет.
- Нажмите на кнопку .
Откроется окно секрета.
- Укажите значения для следующих параметров:
- Название – имя добавляемого секрета.
- Тип – urls.
Значение установлено по умолчанию, его редактирование недоступно.
- URL – URL-адрес базы данных.
Вам требуется учитывать, что для подключения к каждому типу базы данных используется свой формат URL-адреса.
Доступные форматы URL-адресов:
- Для SQLite:
sqlite3://file:<file_path>
В качестве плейсхолдера используется знак вопроса: ?.
- Для MsSQL:
sqlserver://<user>:<password>@<server:port>/<instance_name>?database=<database>
(рекомендуется)sqlserver://<user>:<password>@<server>?database=<database>&encrypt=disable
В качестве плейсхолдера используются символы @p1.
- Для MySQL:
mysql://<user>:<password>@tcp(<server>:<port>)/<database>
В качестве плейсхолдера используются символы %s.
- Для PostgreSQL:
postgres://<user>:<password>@<server>/<database>?sslmode=disable
В качестве плейсхолдера используются символы $1.
- Для Cockroach:
postgres://<user>:<password>@<server>:<port>/<database>?sslmode=disable
В качестве плейсхолдера используются символы $1.
- Для Firebird:
firebirdsql://<user>:<password>@<server>:<port>/<database>
В качестве плейсхолдера используется знак вопроса: ?.
- Описание – любая дополнительная информация.
- При необходимости нажмите на кнопку Добавить и укажите дополнительный URL-адрес.
В этом случае при недоступности одного URL-адреса программа подключается к следующему URL-адресу, указанному в списке адресов.
- Нажмите на кнопку Сохранить.
- Нажмите на кнопку .
Откроется окно секрета.
- Укажите значения для параметров, которые требуется изменить.
Вы можете изменить значения для следующих параметров:
- Название – имя добавляемого секрета.
- URL – URL-адрес базы данных.
Вам требуется учитывать, что для подключения к каждому типу базы данных используется свой формат URL-адреса.
Доступные форматы URL-адресов:
- Для SQLite:
sqlite3://file:<file_path>
В качестве плейсхолдера используется знак вопроса: ?.
- Для MsSQL:
sqlserver://<user>:<password>@<server:port>/<instance_name>?database=<database>
(рекомендуется)sqlserver://<user>:<password>@<server>?database=<database>&encrypt=disable
В качестве плейсхолдера используются символы @p1.
- Для MySQL:
mysql://<user>:<password>@tcp(<server>:<port>)/<database>
В качестве плейсхолдера используется символ ?
.
- Для PostgreSQL:
postgres://<user>:<password>@<server>/<database>?sslmode=disable
В качестве плейсхолдера используются символы $1.
- Для Cockroach:
postgres://<user>:<password>@<server>:<port>/<database>?sslmode=disable
В качестве плейсхолдера используются символы $1.
- Для Firebird:
firebirdsql://<user>:<password>@<server>:<port>/<database>
В качестве плейсхолдера используется знак вопроса: ?.
- Описание – любая дополнительная информация.
- При необходимости нажмите на кнопку Добавить и укажите дополнительный URL-адрес.
В этом случае при недоступности одного URL-адреса программа подключается к следующему URL-адресу, указанному в списке адресов.
- Нажмите на кнопку Сохранить.
При создании подключений могут некорректно обрабатываться строки с учетными данными, содержащими специальные символы. Если при создании подключения возникает ошибка, но вы уверены в том, что значения параметров корректны, укажите специальные символы в процентной кодировке.
Коды специальных символов
!
|
#
|
$
|
%
|
&
|
'
|
(
|
)
|
*
|
+
|
%21
|
%23
|
%24
|
%25
|
%26
|
%27
|
%28
|
%29
|
%2A
|
%2B
|
,
|
/
|
:
|
;
|
=
|
?
|
@
|
[
|
]
|
\
|
%2C
|
%2F
|
%3A
|
%3B
|
%3D
|
%3F
|
%40
|
%5B
|
%5D
|
%5C
|
Следующие специальные символы не поддерживаются в паролях доступа к базам SQL: пробел, [, ], :, /, #, %, \.
- Столбец идентификатора (обязательно) – название столбца, содержащего идентификатор для каждой строки таблицы.
- Начальное значение идентификатора (обязательно) – значение в столбце идентификатора, по которому будет определена строка, с которой требуется начать считывание данных из SQL-таблицы.
- Запрос – поле для дополнительного SQL-запроса. Запрос, указанный в этом поле, выполняется вместо запроса по умолчанию.
- Интервал запросов, сек. – интервал выполнения SQL-запросов. Интервал, указанный в этом поле, используется вместо интервала, указанного по умолчанию для коннектора.
Указывается в секундах. Значение по умолчанию: 10 секунд.
Для коннектора на закладке Дополнительные параметры вам требуется задать значения следующих параметров:
В рамках одного коннектора вы можете создать подключение для нескольких поддерживаемых баз данных.
Чтобы создать подключение для нескольких баз данных SQL:
- Нажмите на кнопку Добавить подключение.
- Задайте значение для параметров URL, Столбец идентификатора, Начальное значение идентификатора, Запрос, Интервал запросов, сек.
- Повторите шаги 1–2 для каждого требуемого подключения.
Поддерживаемые типы SQL и особенности их использования
Оператор UNION не поддерживается коннекторами типа SQL.
Поддерживаются следующие типы SQL:
- MSSQL
Примеры URL:
sqlserver://{user}:{password}@{server:port}/{instance_name}?database={database}
– (рекомендуемый вариант)sqlserver://{user}:{password}@{server}?database={database}
В качестве плейсхолдера в SQL-запросе используются символы @p1
.
Если вам требуется подключиться с доменными учетными данными, укажите имя учетной записи в формате <домен>%5C<пользователь>
. Например: sqlserver://domain%5Cuser:password@ksc.example.com:1433/SQLEXPRESS?database=KAV
.
- MySQL
Пример URL: mysql://{user}:{password}@tcp({server}:{port})/{database}
В качестве плейсхолдера в SQL-запросе используются символ ?
.
- PostgreSQL
Пример URL: postgres://{user}:{password}@{server}/{database}?sslmode=disable
В качестве плейсхолдера в SQL-запросе используются символы $1
.
- CockroachDB
Пример URL: postgres://{user}:{password}@{server}:{port}/{database}?sslmode=disable
В качестве плейсхолдера в SQL-запросе используются символы $1
.
- SQLite3
Пример URL: sqlite3://file:{file_path}
В качестве плейсхолдера в SQL-запросе используется знак вопроса: ?
.
- Oracle DB
Пример URL: oracle://{user}/{password}@{server}:{port}/{service_name}
Используется синтаксис Easy Connect. В качестве плейсхолдера в SQL-запросе используется символы :val
.
При обращении к Oracle DB, если начальное значение идентификатора используется в формате datetime, в SQL-запрос нужно добавить преобразование даты с помощью функции Oracle to_timestamp_tz
. Например, select * from connections where login_time > to_timestamp_tz(:val, 'YYYY-MM-DD"T"HH24:MI:SSTZH:TZM')
. В этом примере Connections
– это таблица Oracle DB, а значение переменной :val
берется из поля Начальное значение идентификатора, поэтому его требуется указывать в формате с timezone (например, 2021-01-01T00:10:00+03:00
).
Для обращения к Oracle DB необходимо установить пакет libaio1.
- Firebird® SQL
Пример URL: firebirdsql://{user}:{password}@{server}:{port}/{database}
В качестве плейсхолдера в SQL-запросе используется знак вопроса: ?
.
В SQL-запросах поддерживается последовательный запрос сведений из базы данных. Например, если в поле Запрос указать запрос select * from <название таблицы с данными> where id > <плейсхолдер>
, то при первом обращении к таблице в качестве значения плейсхолдера будет использоваться значение поля Начальное значение идентификатора. При этом в сервисе, в котором используется SQL-коннектор, сохраняется идентификатор последней прочитанной записи, и во время следующего обращения к базе данных в качестве значения плейсхолдера в запросе будет использоваться идентификатор этой записи.
Примеры SQL-запросов
SQLite, Firebird – select * from table_name where id > ?
MsSQL – select * from table_name where id > @p1
MySQL – select * from table_name where id > ?
PostgreSQL, Cockroach – select * from table_name where id > $1
Oracle – select * from table_name where id > :val
В начало