felipe lima Posted March 19 Topic Count: 2 Topics Per Day: 0.01 Content Count: 9 Content Per Day: 0.03 Reputation: 0 Achievement Points: 62 Solved Content: 0 Days Won: 0 Status: Offline Device: Windows Report Posted March 19 Boa tarde, eu tinha uma consulta SQL contendo apenas um único comando que era um EXEC (N'INSERT INTO TABELA ...' ). Hoje vi que não consigo mais nem criar outra consulta contendo um EXEC e nem editar a consulta que já existe (e que está funcionando). O que houve? A TOTVS mudou algo? Quote
BrunoGasparetto Posted March 19 Topic Count: 5 Topics Per Day: 0.00 Content Count: 25 Content Per Day: 0.02 Reputation: 12 Achievement Points: 190 Solved Content: 0 Days Won: 5 Status: Offline Device: Windows Report Posted March 19 Das vezes que usei sempre precisei colocar como `EXECUTE` ao invés de `EXEC` (dava erro) e logo em seguida tinha que colocar uma consulta simples, senão o RM não deixava salvar. Vou até validar se ainda tenho Consulta rodando EXECUTE e se está dando algum erro. Quote
felipe lima Posted March 19 Topic Count: 2 Topics Per Day: 0.01 Content Count: 9 Content Per Day: 0.03 Reputation: 0 Achievement Points: 62 Solved Content: 0 Days Won: 0 Status: Offline Device: Windows Author Report Posted March 19 Para mim, EXEC e EXECUTE retornam o mesmo erro "Sentença SQL não é um comando de seleção (SELECT)!" Parece que agora não é mais permitido fazer INSERT ou UPDATE dentro do EXEC/EXECUTE, mas o EXEC servia exatamente para fazermos INSERT e UPDATE. Para fazer SELECT não precisamos do EXEC. Quote
luisgustavogomes Posted March 19 Topic Count: 5 Topics Per Day: 0.00 Content Count: 518 Content Per Day: 0.19 Reputation: 164 Achievement Points: 3,451 Solved Content: 0 Days Won: 71 Status: Offline Age: 36 Device: Android Report Posted March 19 @felipe lima e @BrunoGasparetto, boa noite! Vou deixar esse post 12 horas aqui .... P/S @felipe lima precisamos algumas vezes de uma instrução de proc para algumas magias no SELECT Teste 001 - Consulta para execução de uma Stored Procedure (SELECT) - texto da query Validação somente em tela de execução Execução externa... SUCESSO! Texto da proc Teste 002 - Consulta para execução de uma Stored Procedure (UPDATE) - texto da query Validação de tela Execução com sucesso Texto da proc Abraços 1 Quote
felipe lima Posted March 20 Topic Count: 2 Topics Per Day: 0.01 Content Count: 9 Content Per Day: 0.03 Reputation: 0 Achievement Points: 62 Solved Content: 0 Days Won: 0 Status: Offline Device: Windows Author Report Posted March 20 Ok, obrigado, o EXECUTE funciona para chamar uma procedure, mas não estou usando uma procedure. O que eu tenho é EXEC (N'INSERT INTO TABELA ...' ) e isso parou de funcionar. Alguém sabe o que está acontecendo? Quote
caiiomonteiro Posted March 20 Topic Count: 11 Topics Per Day: 0.00 Content Count: 171 Content Per Day: 0.06 Reputation: 67 Achievement Points: 1,104 Solved Content: 0 Days Won: 27 Status: Offline Age: 27 Device: Windows Report Posted March 20 Bom dia Apenas complementando que, no próprio cadastro da consulta SQL é possível vincular uma procedure antes ou depois da execução da SQL principal Quote
felipe lima Posted March 20 Topic Count: 2 Topics Per Day: 0.01 Content Count: 9 Content Per Day: 0.03 Reputation: 0 Achievement Points: 62 Solved Content: 0 Days Won: 0 Status: Offline Device: Windows Author Report Posted March 20 Isso é verdade, mas não tenho procedure e eu não queria ter que refazer tudo o que já foi feito. Então a pergunta continua: o comando EXEC (N'INSERT INTO TABELA ...' ) parou de funcionar? Quote
luisgustavogomes Posted March 20 Topic Count: 5 Topics Per Day: 0.00 Content Count: 518 Content Per Day: 0.19 Reputation: 164 Achievement Points: 3,451 Solved Content: 0 Days Won: 71 Status: Offline Age: 36 Device: Android Report Posted March 20 @felipe lima, Bom dia! Sim a chamada da PROCEDURE EXEC/EXECUTE somente com o texto foi bloqueada pela action GlbConsSqlAction, porém, é tem como contornar! CREATE OR ALTER PROCEDURE dbo.SP_GLB_EXECUTECOMMAND @COMMAND NVARCHAR(MAX) AS DECLARE @RETORNO VARCHAR(100); BEGIN TRY BEGIN TRAN T1 EXEC (@COMMAND); SET @RETORNO = 'OK' COMMIT END TRY BEGIN CATCH IF (@@TRANCOUNT > 0) BEGIN ROLLBACK TRANSACTION T1 PRINT 'Error detected, all changes reversed' END SET @RETORNO = ( SELECT CONCAT( ' Error detected, all changes reversed: ', ' MESSAGE TEXT: ', ERROR_MESSAGE(), ' SEVERITY: ', ERROR_SEVERITY(), ' STATE: ', ERROR_STATE()) ) END CATCH SELECT @RETORNO AS 'RETORNO' RETURN 0 Abraços 3 Quote
Jair - Fórmula Posted March 20 Topic Count: 926 Topics Per Day: 0.13 Content Count: 9,097 Content Per Day: 1.31 Reputation: 376 Achievement Points: 109,102 Solved Content: 0 Days Won: 232 Status: Offline Age: 53 Device: Windows Report Posted March 20 Boa ideia Luis... neste exemplo, você criou uma procedure no banco de dados, apenas para receber a instrução (linha de comando) e a executa. Como apenas o EXEC direto com texto foi bloqueado, desta forma realmente funciona. Valeu mais uma vez pela contribuição aqui a todos!! Quote
felipe lima Posted March 20 Topic Count: 2 Topics Per Day: 0.01 Content Count: 9 Content Per Day: 0.03 Reputation: 0 Achievement Points: 62 Solved Content: 0 Days Won: 0 Status: Offline Device: Windows Author Report Posted March 20 Obrigado. Quote
BrunoGasparetto Posted March 20 Topic Count: 5 Topics Per Day: 0.00 Content Count: 25 Content Per Day: 0.02 Reputation: 12 Achievement Points: 190 Solved Content: 0 Days Won: 5 Status: Offline Device: Windows Report Posted March 20 2 horas atrás, caiiomonteiro disse: Bom dia Apenas complementando que, no próprio cadastro da consulta SQL é possível vincular uma procedure antes ou depois da execução da SQL principal O problema dessa configuração é que não dá pra passar parâmetros pra SP. Quote
BrunoGasparetto Posted March 20 Topic Count: 5 Topics Per Day: 0.00 Content Count: 25 Content Per Day: 0.02 Reputation: 12 Achievement Points: 190 Solved Content: 0 Days Won: 5 Status: Offline Device: Windows Report Posted March 20 Muito bom o jeito que fez, @luisgustavogomes. Aqui eu só tenho algumas SP no banco pra coisas muito específicas (normalmente um update numa tabela customizada que não possuí dataserver), justamente pra ter o menor risco possível de interferir em outras coligadas. Aí o que faço é simplesmente chamar a procedure e depois fazer um Select, e aí o RM não dá erro e lá na SP eu mantenho só o código do update/insert mesmo. Quote
caiiomonteiro Posted March 20 Topic Count: 11 Topics Per Day: 0.00 Content Count: 171 Content Per Day: 0.06 Reputation: 67 Achievement Points: 1,104 Solved Content: 0 Days Won: 27 Status: Offline Age: 27 Device: Windows Report Posted March 20 57 minutos atrás, BrunoGasparetto disse: O problema dessa configuração é que não dá pra passar parâmetros pra SP. É possível sim, utilizo dessa forma em fórmulas visuais por exemplo Abraços 1 Quote
luisgustavogomes Posted March 21 Topic Count: 5 Topics Per Day: 0.00 Content Count: 518 Content Per Day: 0.19 Reputation: 164 Achievement Points: 3,451 Solved Content: 0 Days Won: 71 Status: Offline Age: 36 Device: Android Report Posted March 21 11 horas atrás, BrunoGasparetto disse: O problema dessa configuração é que não dá pra passar parâmetros pra SP. Boa noite! Segue. Abraços. Quote
BrunoGasparetto Posted March 21 Topic Count: 5 Topics Per Day: 0.00 Content Count: 25 Content Per Day: 0.02 Reputation: 12 Achievement Points: 190 Solved Content: 0 Days Won: 5 Status: Offline Device: Windows Report Posted March 21 Ah sim, @luisgustavogomes. No caso dos parâmetros eu me referia a configurar na consulta SQL, não no "conteúdo" da consulta. No caso como foi a sugestão do colega @caiiomonteiro. Mas confesso que há tempos não tento executar SP assim, pois as SPs estão em outro banco de dados e quando tentei configurar a execução no cadastro da SQL recebo erro de que não foi encontrada a SP. 1 Quote
claudio ximenes Posted March 24 Topic Count: 0 Topics Per Day: 0 Content Count: 26 Content Per Day: 0.00 Reputation: 5 Achievement Points: 65 Solved Content: 0 Days Won: 2 Status: Offline Age: 50 Device: Windows Report Posted March 24 Parou de funcionar sim. Tanto o EXEC quanto a atividade Executar comando SQL na Formula Visual. Já era. kkk agora só pelo conceito. Quote
luisgustavogomes Posted March 24 Topic Count: 5 Topics Per Day: 0.00 Content Count: 518 Content Per Day: 0.19 Reputation: 164 Achievement Points: 3,451 Solved Content: 0 Days Won: 71 Status: Offline Age: 36 Device: Android Report Posted March 24 Bom dia.... sempre tem um jeito! 1 Quote
Jair - Fórmula Posted March 24 Topic Count: 926 Topics Per Day: 0.13 Content Count: 9,097 Content Per Day: 1.31 Reputation: 376 Achievement Points: 109,102 Solved Content: 0 Days Won: 232 Status: Offline Age: 53 Device: Windows Report Posted March 24 Segue uma dica para alguns processos relacionados a execução de comandos SQL, não exatamente sobre SP, mas que pode ser útil a todos!! Quote
Raphael Gomes Posted March 30 Topic Count: 12 Topics Per Day: 0.01 Content Count: 48 Content Per Day: 0.05 Reputation: 8 Achievement Points: 325 Solved Content: 0 Days Won: 1 Status: Offline Device: Windows Report Posted March 30 Bom dia, Por aqui desenvolvi dessa forma e está funcionando perfeitamente através da atividade "Executar Código Fonte". Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.