Конфигурационные файлы

Файл конфигурации config.json

Для работы сервера отчетов необходимо, чтобы в директории с сервисом присутствовал файл конфигурации config.json.

Файл конфигурации содержит 2 раздела:

  1. app – параметры работы приложения.

Раздел app поддерживает следующие параметры:

  • port - строка. Определяет номер сетевого порта, на котором будет запущен сервис (по умолчанию - 8887)

  • debug - логическое значение. Включает режим отладки, при котором доступен подробный лог обработки запросов и расширенное описание ошибок.

  1. datasources – массив источников данных, каждый из которых имеет типовой набор параметров для соединения и работы с БД.

Каждый элемент datasources - описатель БД поддерживает следующие параметры:

  • name - строка. Имя источника данных. Данное имя будет использовано при регистрации эндпоинтов для выполнения запросов, поэтому данное поле не должно содержать символов недопустимых в url.

  • dbType - строка. Тип базы данных источника данных. Поддерживаемые значения:
    • postgresql

    • oracle

    • mssql

    • firebird

    • ydb

  • host - строка. Доменное имя или IP-адрес сервера БД.

  • port - число. Сетевой порт сервера БД.

  • login - строка. Имя пользователя для подключения к БД.

  • password - строка. Пароль пользователя для подключения к БД.

  • dbName - строка. Имя подключаемой базы на сервере БД.

  • parsingSchema – строка. Определяет:

    • имя схемы в базе данных PostgreSQL и MS SQL Server, в которой будет производиться сканирование процедур и функций.

    • имя пакета в базе данных Oracle и Firebird, в котором будет производиться сканирование процедур и функций.

    • для Ydb не используется.

  • reloadCacheInterval – число. Определяет временной интервал в секундах для обновления кэша процедур и функций. Значение по умолчанию: 0. При нулевом значении механизм обновления кэша не запускается.

  • minCons - число. Минимальное количество сессий пула соединений.

  • maxCons - число. Максимальное количество сессий пула соединений.

  • dmlEnabled - логическое значение. Включает регистрацию эндпоинтов и поддержку DML-операций. По умолчанию DML-операции выключены (false).

  • runtimeOptions - набор параметров среды выполнения. Например «LC_NUMERIC»: «ru_RU.UTF-8» позволяет установить локализацию числовых форматов для БД postgresql.

В конфигурационном файле вы можете определить множество источников данных как одного так и разных типов БД.

Пример конфигурационного файла config.json

{
  "app": {
    "port": "8887",
    "debug": true
  },
  "datasources": [
    {
      "name": "pg_db",
      "dbType": "postgresql",
      "host": "localhost",
      "port": 5432,
      "login": "XDAC_USER",
      "password": "XDAC_PASSWORD1!",
      "dbName": "xdac_db",
      "parsingSchema": "api",
      "reloadCacheInterval": 300,
      "minCons": 1,
      "maxCons": 2,
      "dmlEnabled": true,
      "runtimeOptions": {
        "LC_NUMERIC": "ru_RU.UTF-8"
      }
    },
    {
      "name": "firebird_db",
      "dbType": "firebird",
      "host": "localhost",
      "port": 3050,
      "login": "xdac_user",
      "password": "xdac_password1!",
      "dbName": "xdac_db",
      "parsingSchema": "PKG_API",
      "minCons": 1,
      "maxCons": 2,
      "dmlEnabled": true
    },
    {
      "name": "ora_db",
      "dbType": "oracle",
      "host": "localhost",
      "port": 1521,
      "login": "XDAC_USER",
      "password": "xdac_password1!",
      "dbName": "xdac_db",
      "parsingSchema": "PKG_API",
      "minCons": 1,
      "maxCons": 2,
      "dmlEnabled": true
    },
    {
      "name": "mssql_db",
      "dbType": "mssql",
      "host": "localhost",
      "port": 1433,
      "login": "XDAC_USER",
      "password": "XDAC_PASSWORD1!",
      "dbName": "xdac_db",
      "parsingSchema": "api",
      "minCons": 1,
      "maxCons": 2,
      "dmlEnabled": true
    },
    {
      "name": "ydb_db",
      "dbType": "ydb",
      "host": "localhost",
      "port": 2135,
      "login": "xdac_user",
      "password": "xdac_password1!",
      "dbName": "Root/xdac_db",
      "parsingSchema": "api",
      "minCons": 1,
      "maxCons": 2,
      "dmlEnabled": true
    }
  ]
}

Примечание

По умолчанию для подключения к БД Ydb используется безопасный вариант GRPC - grpcs. При необходимости использования grpc, нужно указать в runtimeOptions флаг «unsecure»: true.

Примечание

В режиме отладки (флаг «debug»: true) XDAC выводит в stdout список доступных процедур и функций, а также заполняет поле description ошибки внутренними сообщениями от БД.