Qlik Community

Brasil

Announcements
Now Live: Qlik Sense SaaS Simplified Authoring – Analytics Creation for Everyone: READ DETAILS
cancel
Showing results for 
Search instead for 
Did you mean: 
cenbueno
Contributor II
Contributor II

Chamar Procedure do Oracle

Boa noite amigos,

Estou com uma dificuldade que gostaria de verificar se alguém já fez e possa dar uma luz.

Tenho uma procedure no ORACLE que tem dois parâmetros de entrada (data) e duas saídas (Cursor), conforme abaixo.Parametros.PNG

No oracle, após inserir os dados no campo Value, roda esse comando e executa a procedure

begin

nomedaprocedure (datade=> :e_dt_de, e_dt_ate => :e_dt_ate, s_cursor_r=> :s_cursor_r, s_cursor_r=> :s_cursor_r);

end

Agora preciso fazer o Qlikview chamar essa procedure, ja rodei pelo forum procurando mas nao consegui resolver.

Tentei ja com o comando sql exec e retorna erro de  ]Syntax error or access violation.

Com o comando sql call retorna esse outro erro not a valid function or procedure name.

Obrigado desde já.

Abs

Labels (1)
  • Other

1 Solution

Accepted Solutions
cenbueno
Contributor II
Contributor II
Author

Boa tarde Marcio,

Na verdade não consegui resolver com as respostas, mesmo com a ajuda ficava retornando erro, então o cliente criou duas tabelas que a procedure gerava e facilitou o trabalho, portanto não vou mais utilizar a procedure.

Obrigado a todos pela ajuda.

View solution in original post

11 Replies
cenbueno
Contributor II
Contributor II
Author

Adicionando que o usuário tem permissão de acesso.

Marcio_Campestrini
Specialist
Specialist

Bom dia Carlos

Eu tenho um programa que faz a chamada, embora não tenha nenhum parâmetro de retorno.

O que faço é:

Resumo:

-- tabela com as informações que preciso

ODBC CONNECT32 TO Producao (XUserId is MDTBZYRNJbaMXUVMXDNA, XPassword is KWIfQXJOBTdSWSdOYD, Mode is write);

  Let noRows = NoOfRows('Resumo') - 1;

  For i = 0 to $(noRows)

     Let a = Peek('CampoA', $(i), 'Resumo');

     Let b = Peek('CampoB', $(i), 'Resumo');

     Let c = Replace(Peek('CampoC', $(i), 'Resumo'), ',', '.');

   

     SQL

     Call insere_resumo_agente_ano($(a), $(b), $(c));

  Next i;

Márcio Rodrigo Campestrini
Marcio_Campestrini
Specialist
Specialist

Boa tarde Carlos

Conseguiu resolver o seu problema? Se sim, por gentileza marque a resposta correta para ajudar a manter a comunidade organizada.

Márcio Rodrigo Campestrini
cenbueno
Contributor II
Contributor II
Author

Olá Marcio boa tarde.

não deu certo, continua dando erro, não sei se é pelos parametros que tem 2 cursor.

Marcio_Campestrini
Specialist
Specialist

Carlos

Por gentileza, poste o qvw de exemplo e a sua rotina de banco de dados para podermos avaliar melhor o caso.

Márcio Rodrigo Campestrini
nicolett_yuri

Qual o erro esta ocorrendo?

cenbueno
Contributor II
Contributor II
Author

Marcio, infelizmente não posso postar porque esta em cliente, nem tenho acesso ao codigo da procedure. Todo caso o administrador do banco de dados resolver criar as duas tabelas que a proc retornava, e com isso vou fazer select simples pra extrair as informações agora.

Obrigado pela ajuda.

cenbueno
Contributor II
Contributor II
Author

Yuri, retorna esses erros

Tentei ja com o comando sql exec e retorna erro de  ]Syntax error or access violation.

Com o comando sql call retorna esse outro erro not a valid function or procedure name.

Todo caso o administrador do banco de dados resolver criar as duas tabelas que a proc retornava, e com isso vou fazer select simples pra extrair as informações agora.


nicolett_yuri

Pode ser a forma que esta chamando a procedure esteja incorreta.

Ou então pode ser alguns macetes, veja: When is a Result Set not a Result Set?