ExecuteSqlQuery
| Назначение | Выполнить произвольный Sql-запрос по строке подключения из конфигурации агента. Для определенных агрегаторов запрос пересылается в r_k Cloud. Наличие подключенного агента при этом не требуется. |
|---|---|
| Тип запроса | Синхронный |
| Поддерживаемая версия агента | v2 |
| PluggetSystemType | Sql |
ФОРМАТ ЗАПРОСА
ФОРМАТ ЗАПРОСА
Запрос
{
"taskType": "ExecuteSqlQuery",
"params": {
"sync": {
"objectId": number,
"timeout": number
},
"connectionStringName": "string",
"procName": "string",
"procType": "enum",
"params": [
{
"name": "string",
"value": "string"
}
]
}
}
CODE
| Параметр | Тип | Обязательный | Описание | Значение по умолчанию |
| taskType | string | + | Тип задачи, для данного метода значение ExecuteSqlQuery | |
sync | Синхронный вызов метода (либо синхронный, либо асинхронный. Для этого изменить на "async") | 120 секунд | ||
| timeout | int | - | Время ожидания ответа от агента в секундах, по умолчанию 120 секунд | |
| objectId | int | + | Код ресторана в системе лицензирования | |
| connectionStringName | string | - | Имя строки подключения к БД в конфигурации агента (если не заданно, то в конфигурации ищется подключение RKeeperReportService) | |
| procType | string | + | Тип команды, варианты:
| |
| procName | string | + | Название хранимой процедуры или функции | |
| params | - | Параметры для вызываемой процедуры/функции | ||
| - name | string | + | Имя параметра | |
| - value | string | + | Значение параметра |
ФОРМАТ ОТВЕТА
ФОРМАТ ОТВЕТА
Успешный ответ
Успешный ответ
{
"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 | ||||||||
| - rows | array | массив записей результата выполнения запроса | ||||||
| ||||||||
ПРИМЕРЫ СТРУКТУРЫ ЗАПРОСОВ
Примеры структуры запросов
{
"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\"."
}
}
}