Назначение

Выполнить произвольный Sql-запрос по строке подключения из конфигурации агента.

Для определенных агрегаторов запрос пересылается в r_k Cloud. Наличие подключенного агента при этом не требуется.

Тип запросаАсинхронный
Поддерживаемая версия агентаv2
PluggetSystemTypeSql

Формат запроса

{
  "taskType": "ExecuteSqlQuery",
  "params": {
    "async": {
      "objectId": number,
       "timeout": number
    },
    "sync": {
      "objectId": number,
       "timeout": number
    },
    "connectionStringName": "string",
    "procName": "string",
    "procType": "enum",
    "params": [
      {
        "name": "string",
        "value": "string"
      }
    ]
  }
}
JSON

Параметр

Тип

Обязательный

Описание

taskTypestringдаТип задачи, для данного метода значение ExecuteSqlQuery.
-async

Асинхронный вызов метода: либо синхронный, либо асинхронный
-sync

Синхронный вызов метода: либо синхронный, либо асинхронный
--timeoutintнетВремя ожидания ответа от агента в секундах, по умолчанию — 120 секунд
--objectIdintдаКод ресторана в системе лицензирования
-connectionStringNamestringнетИмя строки подключения к БД в конфигурации агента. Если не задано, то в конфигурации ищется подключение RKeeperReportService.
-procTypestringда

Тип команды, варианты:

  • storedProcedure
  • function
-procNamestringдаНазвание хранимой процедуры или функции
-params
нетПараметры для вызываемой процедуры/функции
--namestringдаИмя параметра
--valuestringдаЗначение параметра

Формат ответа

{ 
   "responseCommon":{ 
      "taskGuid":"guid",
      "taskType":"ExecuteSqlQuery",
      "objectId": 0
   },
   "error":{ 
      "wsError":{ 
         "code":"string",
         "desc":"string"
      }
   }
}
JSON

Параметр

Тип

Описание

--taskGuidguidУникальный код этой задачи. Используется при получении задачи через очередь
--taskTypestring enumТип задачи
--objectIdintКод ресторана в системе лицензирования
-error
Контейнер ошибок, подробнее читайте в статье Описание ошибок

Формат асинхронного ответа

Успешный ответ

// Успешный ответ
{
  "taskResponse": {
     "queryResult": {
        "rows": [
            // Массив записей
        ]
     }
  },
  "responseCommon": {
    "taskGuid": "string",
    "taskType": "SqlCommand",
    "objectId": 0
  }
}
JSON

Ответ с ошибкой

{
  "responseCommon": {
    "taskGuid": "string",
    "taskType": "ExecuteSqlQuery",
    "objectId": 0
  },
  "error": {
    "wsError": {
      "code": "string",
      "desc": "string"
    },
    "agentError": {
      "code": 0,
      "desc": "string"
    }
  }
}
JSON

Параметр

Тип параметра

Обязательный

Описание

-rowsarray
Массив записей результата выполнения запроса
errorstring enum
Контейнер ошибок, подробнее читайте в статье Описание ошибок

Пример ответа

{
    "taskResponse": {
        "queryResult": {
            "rows": [
                {
                    "col_1": true,
                    "col_2": 2,
                    "col_3": "str"
                },
                {
                    "col_1": false,
                    "col_2": 3,
                }
            ]
        }
    },
    "responseCommon": {
        "taskGuid": "464ca191-8d3a-439b-ad5b-485f628275e6",
        "taskType": "SqlCommand",
        "objectId": 199997075
    }
}
JSON