Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
mario_ti
Contributor

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.

Tags (1)
14 Replies

Re: Executar Procedure

Acho que isso não vai funcionar.

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

mario_ti
Contributor

Re: Executar Procedure

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
New Contributor III

Re: Executar Procedure

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
Contributor

Re: Executar Procedure

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
New Contributor III

Re: Executar Procedure

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
Contributor

Re: Executar Procedure

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
New Contributor III

Re: Executar Procedure

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

Re: Executar Procedure

Certeza que a procedure funciona?

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

mario_ti
Contributor

Re: Executar Procedure

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