4 Replies Latest reply: Jun 19, 2013 2:59 PM by Tiago Juncioni RSS

    Tabelas - como não travar através de conexões ODBC

      Ola

      Estou realizando uma leitura de tabelas através de conexões ODBC, mas quando ela vai ler uma tabela no banco, e alguém estiver usando, ele trava a leitura e da erro quando esta ocorrendo a extração de dados para o Qlikview.

      Em Progress, por exemplo, colocamos depois da tabela NO-LOCK, e com isso não trava.

      Existe algum comando que podemos fazer no Qlikview quando ele irá ler a tabela do banco e não travar?

       

      Abraços

      Igor

        • Tabelas - como não travar através de conexões ODBC
          Caique Zaniolo

          Igor,

          no momento de uma carga ODBC do banco você não está usando funções e recursos do QlikView, e sim rodando uma query normal sobre o driver de conexão que você escolheu.

          Você pode usar a mesma query que você faz fora do QlikView, usando os recursos permitidos pelo driver de conexão com o banco de dados, nesse caso o seu driver ODBC. Não é o QlikView que está "travando" sua tabela, é o banco de dados. Use os recursos de query que você normalmente usa.

          Abraço

          • Tabelas - como não travar através de conexões ODBC

            Igor,

            No Progress vc utiliza o NO-LOCK quando está utilizando programação 4GL ...(FOR EACH ...) quando vc utiliza o driver de conexão ODBC do Progress (OpenEDGE) ... vc pode configura essa opção de LOCK no momento da criação do ODBC , utilizando a opção READ UNCOMMITTED em configurações avançadas.

            NO SQL SERVER vc também pode utilizar o No-LOCK no SQL STATEMENT

            select * from tb_name (nolock)

             


            ou definir na transação


            SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

             

            NO ORACLE vc também pode definir o método de LOCK

             

            Como o Caique mencionou vai depender do river de Conexão / Banco de Dados..

             

            Segue documentação sobr eo assunto, caso queira se aprofundar :

            http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/consist.htm#insertedID3

             

            • Tabelas - como não travar através de conexões ODBC
              Pablo Labbe

              Qual o Banco de dados utilizado ?

              Dependo do banco de dados ou do driver utilizado você pode estabelecer que a conexao seja somente leitura ou que a Query nao faça o bloqueio.

              Em SQL Server existe o parametro no lock no select

              select * from tb_name (nolock)

              Em Oracle isto não ocorre, por default ele não bloqueia, somente se você forçar.

               

               

              • Re: Tabelas - como não travar através de conexões ODBC

                Boa tarde,

                 

                E para conexões OLEDB?

                 

                Pois aqui qualquer select que executamos dentro do QlikView, mesmo utilizando "SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED" ou with(nolock) em cada uma das tabelas do select, uma transação é aberta no banco de dados.

                 

                Existe algum lugar no QlikView ou Publisher para configurar de "Serializable" para "Read Uncommitted"?

                 

                Obrigado!