Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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
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
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.
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!