Назначение

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

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

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

ФОРМАТ ЗАПРОСА

Запрос

{
  "taskType": "ExecuteSqlQuery",
  "params": {
    "sync": {
      "objectId": number,
      "timeout": number
    },
    "connectionStringName": "string",
    "procName": "string",
    "procType": "enum",
    "params": [
      {
        "name": "string",
        "value": "string"
      }
    ]
  }
}
CODE
ПараметрТипОбязательныйОписаниеЗначение по умолчанию
taskTypestring+Тип задачи, для данного метода значение ExecuteSqlQuery

sync



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

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

  • storedProcedure
  • function

procNamestring+Название хранимой процедуры или функции
params
-Параметры для вызываемой процедуры/функции
  - namestring+Имя параметра
  - valuestring+Значение параметра
ФОРМАТ ОТВЕТА

ФОРМАТ ОТВЕТА

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

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

{
  "taskResponse": {
     "queryResult": {
        "rows": [
            // Массив записей
        ]
     }
  },
  "responseCommon": {
    "taskGuid": "string",
    "taskType": "SqlCommand",
    "objectId": 0
  }
}
CODE

Ответ с ошибкой. Ошибка агента или сервера

Ответ с ошибкой. Ошибка агента или сервера

{
  "responseCommon": {
    "taskGuid": "string",
    "taskType": "ExecuteSqlQuery",
    "objectId": 0,
    "agentGuid": "guid"
  },
  "error": {
    "wsError": {
      "code": "string",
      "desc": "string"
    },
    "agentError": {
      "code": "string",
      "desc": "string"
    }
  }
}
CODE
ПараметрТипОписание
queryResult

- rowsarrayмассив записей результата выполнения запроса




Ошибка от сервера
agentError
Ошибка от агента
ПРИМЕРЫ СТРУКТУРЫ ЗАПРОСОВ

Примеры структуры запросов

{
  "taskType": "ExecuteSqlQuery",
  "params": {
    "sync": {
      "objectId": 199990232,
      "timeout": 60
    },
    "procName": "Select1",
    "procType": "storedProcedure"
  }
}
{
  "taskResponse": {
    "queryResult": {
      "rows": [
        {
          "result": 1
        }
      ]
    },
    "IsBigData": true
  },
  "responseCommon": {
    "taskGuid": "30b510d9-9d4a-436a-a361-51734e818f02",
    "taskType": "ExecuteSqlQuery",
    "objectId": 199990232,
    "agentGuid": "62225260-c097-4c75-abef-106c7207f9ff"
  }
}
{
    "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": "ExecuteSqlQuery",
        "objectId": 199997075,
        "agentGuid": "62225260-c097-4c75-abef-106c7207f9ff"
  }
}
{
  "responseCommon": {
    "taskGuid": "55ea2f67-c6e4-4be4-bed8-e9db89fcf2cc",
    "taskType": "ExecuteSqlQuery",
    "objectId": 199990232,
    "agentGuid": "62225260-c097-4c75-abef-106c7207f9ff"
  },
  "error": {
    "agentError": {
      "code": "WsaSqlError",
      "desc": "SqlException: Не удалось найти хранимую процедуру \"Select2\"."
    }
  }
}