Конфигурационные файлы
Файл конфигурации config.json
Для работы сервера отчетов необходимо, чтобы в директории с сервисом присутствовал файл конфигурации config.json.
Файл конфигурации содержит 2 раздела:
app – параметры работы приложения.
Раздел app поддерживает следующие параметры:
port - строка. Определяет номер сетевого порта, на котором будет запущен сервис (по умолчанию - 8887)
debug - логическое значение. Включает режим отладки, при котором доступен подробный лог обработки запросов и расширенное описание ошибок.
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 ошибки внутренними сообщениями от БД.