У нас создано 2 контекста устройств, являющихся подключениями к 2-м раличным серверам БД MS SQL.
По какой-то причине функция языка выражений вида:
- Code: Select all
callFunction("users.admin.devices.ohrana",
"executeQuery",
"SELECT field1 AS 'data' FROM testDB.dbo.table1 WHERE id = 1", false)
игнорирует параметр пути контекста и перенаправляет текст SQL запроса в контекст устройства, которое было подключено к сереверу AggreGate последним.
Иными словами, пока к серверу AggreGate подключено только 1-на БД и "users.admin.devices.ohrana" = путь к ее контексту, вышеозначенная фунция работает.
после подключения 2-й БД, чей путь "users.admin.devices.mssq", любой вызов функции "executeQuery" перенаправляется в этот контекст.
Точно такое же поведение наблюдается и при вызове контекстной функции - "executeQuery"(Выполнить запрос). Независимо от того, в контекстном меню какого устройства была вызвана данная функция, запрос отправляется к СУБД которая была подключена к серверу AggreGate последней.
Сервер перезапускали.
При все этом, запросы написанные в свойствах аккаунта устройства(т.е. доступные в последствии в качестве переменных) выполняются корректно при любых условиях.