Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

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

4 Replies
Caique_Zaniolo
Employee
Employee

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

Not applicable
Author

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

pablolabbe
Luminary Alumni
Luminary Alumni

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.

Not applicable
Author

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!