Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
mario_ti
Creator
Creator

Executar Procedure

Pessoal,

Bom Dia

Preciso executar os seguintes comandos antes de extrair ..

TRUNCATE TABLE XXXX;

Execute procedureX();

SELECT * FROM XXXX;

Tenho o erro:

QVX_UNEXPECTED_END_OF_DATA: ERROR [HY000] ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired


Se eu deixar só o SELECT funciona perfeitamente (claro) .. mas se eu deixar só o EXECUTE ou  TRUNCATE da erro.

14 Replies
nicolett_yuri

Acho que isso não vai funcionar.

Não é possível colocar esse comando TRUNCATE dentro da procedure?

mario_ti
Creator
Creator
Author

Yuri,

Bom Dia

Sim sim, ate daria, mas mesmo assim o EXECUTE da procedure não esta funcionando ...

Coloquei ate em uma seção diferente ...

alexbenderkv
Contributor III
Contributor III

Olhá Mario, tudo bem,

Tente adicionar esse comando na linha de conexão do Script, após o parametro de senha:

"mode is write"

ODBC CONNECT TO Oracle (XUserId is fsdfsdfsdfsdf, XPassword is sdfsdfsdf, mode is write);

Caso não funcione, tente mudar o comando TRANCATE pelo comando padrão "Delete From" e adicione o COMMIT abaixo.

DELETE FROM XXXX;

COMMIT;

Execute procedureX();

SELECT * FROM XXXX;

Espero ter ajudado.

Att

Alex M. Bender

mario_ti
Creator
Creator
Author

Alex

Boa Tarde

O TRUNCATE eu segui o conselho do Yuri e coloquei na procedure, o problema é executar a procedure antes do select.

Da erro ao tentar executar

alexbenderkv
Contributor III
Contributor III

Marcio,

Já tentou executar esse Truncate no SQL developer ou na ferramenta que vocês usam para rodar os SQL?

Pode ser que o problema não seja no script do Qlik e sim em permissões para executar esse Truncate no seu banco de dados, ou pode ter algum registro em uso nessa tabela que não está deixando você apagar os registros dela

Pode ser uma hipotese

Att.

mario_ti
Creator
Creator
Author

Alex,

Acho que vc nao entendeu, o TRUNCATE já esta resolvido.

a bronca é executar a PROCEDURE antes do select ... ou seja:

Load

*;

[TABELA]:

SQL

Execute procedureX();

select  * FROM XXX

;

pedrolyra
Contributor III
Contributor III

Boa tarde Mário, para executar uma proc no Qlik Sense:

NO ORACLE

SQL Call NOMEPROCEDURE('PARAMETRO');


NO SQL SERVER

SQL execute NOMEPROCEDURE @key=N'PARAMETRO', @value=VALORDOPARAMETRO;



att

nicolett_yuri

Certeza que a procedure funciona?

Pesquisei o erro e isso indica que existe alguma tabela ocupada, no momento da execução

mario_ti
Creator
Creator
Author

Funciona 100% .. quando rodo no sqldeveloper vai de boa .. no QLIK é que da erro.