SQL - Ошибка гетерогенных запросов с элементом zabbix - PullRequest
0 голосов
/ 29 марта 2020

В Zabbix, нет пути к SET ANSI_WARNINGS ON и SET ANSI_NULLS ON в разделе запроса. По крайней мере, не работает. Есть ли другой способ установить его?

Я пробовал SET ANSI_WARNINGS ON; SET ANSI_NULLS ON; select * ... перед оператором выбора, и он не работал. Я также попробовал GO SET ANSI_WARNINGS ON; ANSI_NULLS ON; select * ... GO, но это тоже не сработало - Zabbix сообщил о синтаксической ошибке.

Ошибка: Гетерогенные запросы требуют, чтобы для соединения были установлены опции ANSI_NULLS и ANSI_WARNINGS.

Вот мой запрос:

select sum(item_count) from (select  
coalesce(c.cnt, 0) as [item_count] 


from LINKED_DB_USER.[UserDB].[dbo].[User] as us LEFT JOIN LINKED_DB_USER.[USerDB].[dbo].[Account] as cs ON us.[user_id] = cs.[user_id]  

FULL OUTER JOIN 
(
 select [Account_ID], count(*) as cnt
from [OnlineUsers2].[dbo].[USER_NAME] where USER_ID in (select USER_ID from [OnlineUsers].[dbo].[Last_Login])
group by [Account_ID]
)  c on c.[Account_ID] = us.[Unique_ID] where cs.name = 'SOME_NAME') src;

Вот скриншот элемента в zabbix.

Zabbix_ITEM

1 Ответ

0 голосов
/ 30 марта 2020

К сожалению, нет, потому что SET ... не поддерживается базовым драйвером ODB C.

Вы также не можете использовать это в i sql. Пример:

SQL> SET ANSI_WARNINGS ON
[S1000][Oracle][ODBC][Ora]ORA-00922: missing or invalid option

[ISQL]ERROR: Could not SQLExecute

Hoverver, вы пытались использовать хранимую процедуру?

...