TMS - Cadastro de Bombas - TRIGGER RETURNED A RESULTSET AND/OR WAS RUNNING WITH SET NOCOUNT OFF WHILE ANOTHER AOUTSTANDING RESULT SET WAS ACTIVE
Incidente
No módulo Frota ao tentar criar o abastecimento ocorre a mensagem [ANYDAC][PHYS][ODBC][MICROSOFT][SQL SERVER NATIVE CLIENT 10.1][SQL SERVER]A TRIGGER RETURNED A RESULTSET AND/OR WAS RUNNING WITH SET NOCOUNT OFF WHILE ANOTHER AOUTSTANDING RESULT SET WAS ACTIVE.
Causa
Este incidente ocorre, pois esta faltando incluir um componente dentro do script da trigger.
Solução
Para que a mensagem não seja apresentada, realize os passos a seguir:
1.No diretório onde está instalado o SV3, abre o SqlDbx:
2. Rode o comando para identificar as triggers a qual estão faltando o componente de SET NOCOUNT ON:
SELECT CAST (A.NAME AS VARCHAR (10)), T.NAME, CAST(S.DEFINITION AS VARCHAR(3000))FROM SYS.SYSOBJECTS A
INNER JOIN SYS.SYSOBJECTS T ON T.XTYPE = 'TR' AND T.PARENT_OBJ = A.ID
INNER JOIN SYS.ALL_SQL_MODULES S ON T.ID = S.OBJECT_ID
WHERE A.XTYPE = 'U'
AND NOT(S.DEFINITION LIKE '%NOCOUNT%')
3. Clique no botão F5 localizado no teclado para trazer os dados do comando aparecerá as triggers que estão faltando o componente;
3.1. Acesse a coluna Triggers e clique na imagem de filtro;
3.2. Clique em Custom:
4. Dentro do campo Include preencha o nome da primeira Trigger;
4.1. Clique em OK:
5. Clique com o botão esquerdo do mouse e escolha Script CREATE:
6. Antes da palavra BEGIN, inclua o componente SET NOCOUNT ON;
6.1. Para salvar a inclusão clique em F5.
Observação: Caso o comando do passo 2 não traga nenhum registro através do select revise a compatibilidade do SQL, ele deve ser no mínimo 2017.
Atenção! Antes de realizar qualquer alteração, analise o impacto que poderá ter em outros lançamentos/processos do sistema.