Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
cenbueno
New 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

1 Solution

Accepted Solutions
cenbueno
New Contributor II

Re: Chamar Procedure do Oracle

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.

11 Replies
cenbueno
New Contributor II

Re: Chamar Procedure do Oracle

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

MCampestrini
Valued Contributor

Re: Chamar Procedure do Oracle

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
MCampestrini
Valued Contributor

Re: Chamar Procedure do Oracle

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

Re: Chamar Procedure do Oracle

Olá Marcio boa tarde.

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

MCampestrini
Valued Contributor

Re: Chamar Procedure do Oracle

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

Re: Chamar Procedure do Oracle

Qual o erro esta ocorrendo?

cenbueno
New Contributor II

Re: Chamar Procedure do Oracle

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

Re: Chamar Procedure do Oracle

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.


Re: Chamar Procedure do Oracle

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?