Kaspersky Unified Monitoring and Analysis Platform

Содержание

Тип sql

KUMA поддерживает работу с несколькими типами баз данных.

Программа поддерживает работу со следующими типами баз данных SQL:

  • SQLite.
  • MsSQL.
  • MySQL.
  • PostgreSQL.
  • Cockroach.
  • Oracle.
  • Firebird.

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

Для коннектора на закладке Основные параметры вам требуется задать значения следующих параметров:

  • Название (обязательно) – уникальное имя ресурса. Должно содержать от 1 до 128 символов Юникода.
  • Тип (обязательно) – тип коннектора, sql.
  • Тенант (обязательно) – название тенанта, которому принадлежит ресурс.
  • Запрос по умолчанию (обязательно) – SQL-запрос, который выполняется при подключении к базе данных.
  • Интервал запросов, сек. – интервал выполнения SQL-запросов. Указывается в секундах.

    Значение по умолчанию: 10 секунд.

  • Описание – описание ресурса: до 256 символов Юникода.

Для подключения к базе данных на закладке Основные параметры вам требуется задать значения следующих параметров:

  • URL (обязательно) – секрет, в котором хранится список URL-адресов для подключения к базе данных.

    При необходимости вы можете изменить или создать секрет.

    1. Нажмите на кнопку AddResource.

      Откроется окно секрета.

    2. Укажите значения для следующих параметров:
      1. Название – имя добавляемого секрета.
      2. Типurls.

        Значение установлено по умолчанию, его редактирование недоступно.

      3. 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>

          В качестве плейсхолдера используется знак вопроса: ?.

      4. Описание – любая дополнительная информация.
    3. При необходимости нажмите на кнопку Добавить и укажите дополнительный URL-адрес.

      В этом случае при недоступности одного URL-адреса программа подключается к следующему URL-адресу, указанному в списке адресов.

    4. Нажмите на кнопку Сохранить.
    1. Нажмите на кнопку EditResource.

      Откроется окно секрета.

    2. Укажите значения для параметров, которые требуется изменить.

      Вы можете изменить значения для следующих параметров:

      1. Название – имя добавляемого секрета.
      2. 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>

          В качестве плейсхолдера используется знак вопроса: ?.

      3. Описание – любая дополнительная информация.
    3. При необходимости нажмите на кнопку Добавить и укажите дополнительный URL-адрес.

      В этом случае при недоступности одного URL-адреса программа подключается к следующему URL-адресу, указанному в списке адресов.

    4. Нажмите на кнопку Сохранить.

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

    Коды специальных символов

    !

    #

    $

    %

    &

    '

    (

    )

    *

    +

    %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 секунд.

Для коннектора на закладке Дополнительные параметры вам требуется задать значения следующих параметров:

  • Кодировка символов – кодировка символов. Значение по умолчанию: UTF-8.

    KUMA конвертирует ответы SQL в кодировку UTF-8. Вы можете настроить SQL-сервер на отправку ответов в кодировке UTF-8 или выбрать их кодировку на стороне KUMA.

  • Отладка – раскрывающийся список, в котором можно указать, будет ли включено логирование ресурса. По умолчанию указывается значение Выключено.

В рамках одного коннектора вы можете создать подключение для нескольких поддерживаемых баз данных.

Чтобы создать подключение для нескольких баз данных SQL:

  1. Нажмите на кнопку Добавить подключение.
  2. Задайте значение для параметров URL, Столбец идентификатора, Начальное значение идентификатора, Запрос, Интервал запросов, сек.
  3. Повторите шаги 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

В начало
[Topic 220746]