17 Replies Latest reply: Jun 14, 2011 11:24 AM by mauriciobc RSS

    Erro de Runtime quando Executa Procedure

      Olá a Todos

       

      Estou fazendo um teste para a chamada de uma Stored Procedure no banco através do Qlikview.

       

      Dei uma pesquisada e vi que o comando é "CALL".

       

      O meu script é basicamente este:

       

       

      // variaveis

      LET vMes = 0 & num(Month(Today()));

      LET vAno =  year(today());

      LET pAnoMes = ($(vAno)&$(vMes));

       

      //conexao

      OLEDB CONNECT TO [Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=[MEU_USUARIO];Data Source=[MEU_SERVIDOR];Extended Properties=""] (XPassword is [MINHA_SENHA]);

       

      //comando

      SQL

      CALL SP_BALAN ('AGRUPAMENTO',  2, 1,'1', NULL, $(pAnoMes),'    ', 'CONTA', 0, 5, 'N', 'N');

       

       

      Depois que eu o executo aparece o erro que esta anexo.

       

      Alguém sabe o que pode ser?

       

      Obrigado pela ajuda

        • Erro de Runtime quando Executa Procedure

          Boa Tarde,

           

          Você poderia realizar dois teste para tentar identificar o problema.

           

          O primeiro é se o problema esta na execução da procedure, neste caso tente executa-la passando os mesmos parâmetros utilizados no Qlikview.

           

          O segundo é se esta havendo a comunicação com o banco de dados. Verifique através de uma consulta simples se existe o retorno das informações do banco de dados.

           

          Desta forma saberá qual a origem do erro (Qlikview ou BD). Eu utilizo chamada de procedures em oracle e nunca me deparei com este erro, a versão que utilizo é QV 9.0 SR6.

           

          Abraços

          • Erro de Runtime quando Executa Procedure
            Erich Shiino

            Poderia tentar também utilizar

            SQL Exec (...)

             

            ... mas qual é o tipo de procedure que está executando? É para execução de comandos no banco, para retornar um valor único ou retornar uma tabela completa?

             

            É preciso verificar se seu usuário tem a permissão para chamar procedures no banco.

            Verifique também se esta procedure irá gravar no banco. Caso grave, seria preciso incluir "mode is write" na string de conexão, e marcar a opção "Open Databases in read and write mode" na tela de scripts, na parte de baixo, na aba settins.

             

            Abraços,

             

            Erich