Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Varias conexões SQL No mesmo Projeto

Olá Pessoal.

Gostaria de uma orientação por favor.

Tenho um projeto do qual o objetivo é extrair dados de vários banco de dados do qual tem o mesmo padrão.

Imaginem que queiram saber informações de venda de 5 banco de dados diferentes, porém, apenas mudando de aba no qlikviwer.

Tipo, aba1 = Loja 1, aba2 = Loja2 etc.

A primeira conexão funciona, mas se crio uma mona Main, e coloco a conexão do segundo banco, não da certo.

Existe essa possibilidade?

O banco é Sql server 2008.

Obrigado.

Maciel

Labels (4)
1 Solution

Accepted Solutions
Not applicable
Author

Acredito que você precise criar dois SQL´s para salvar em duas tabelas diferentes ou concatená-las, pois oque pode estar acontecendo é substituindo os dados do primeiro banco pelo do segundo banco.

Coloca esse SQL para o banco dois e chama a tabela de loja02.

Exemplo,

Connect banco 01;

Loja01:

SQL banco 01;

Connect banco 02;

Loja02:

SQL banco 02;

Acredito que a partir dessa estrutura você possa ter respostas para as suas dúvidas.

View solution in original post

17 Replies
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Maciel,

voce pode ter no seu script varias conexoes para varios bancos (Oracle / SQL Server / DB2 / .....).

A cada connect , o Qlik faz um disconnect automático na ultima conexão.

O que nao pode ocorrer é tentar ler uma tabela de um banco que nao esta conectado. Ou seja, faz a conexao, le as tabelas que precisa. Conecta em outro, le as tabelas que precisa.  Se precisar voltar a ler o banco A, conecta novamente e assim por diante.

furtado@farolbi.com.br
Not applicable
Author

Creio que não esteja sabendo fazer então Alessandro.

Na Main 1, eu fiz a conexão, e carrego alguns dados, funciona;

OLEDB CONNECT TO [Provider=SQLNCLI10.1;Persist Security Info=True;User ID=colibri;Initial Catalog=colibri;Data Source=25.122.187.159;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=SERVER;Initial File Name="";Use Encryption for Data=False;Tag with column collation when possible=False;MARS Connection=False;DataTypeCompatibility=0;Trust Server Certificate=False;trusted_connection=no;] (XPassword is KAAAXYIGTBNIE);

Na Main 2, eu faço uma cova conexão para um novo servidor, com outra base de dados, que tem as mesmas informações, mas de outra loja, e ai da erro.

Ele carrega a segunda Main, e a primeira desconecta, e não deixa eu fazer como gostaria, que usar duas abas, uma para cada loja.

qlik.png

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Maciel,

eu estava falando em abas dentro do script.

O script roda como um todo. Ou seja, o que aparece na tela (e ai nao importa se tem 1 aba ou 10) é todas as linhas do script (considerando que nao tenha if ou exit script....).

O que voce quer pode ser feito lendo os dois bancos e ao entrar em uma aba na tela, usar um disparador e setar o campo loja para a loja que queres mostrar.

furtado@farolbi.com.br
Not applicable
Author

Como Poderia apontar para diferenciar, pois os dados são os mesmo. Veja o exemplo.

Este script serva para todas as lojas, o que vai mudar é só a conexão com o banco.

select

Year(data) Ano,

Month(data) Mes,

Day(data) Dia,

tipo_venda as tipo_loja2,

data,grp_nome as grupo_loja2,

prd_nome as produto_loja2,

CAST(qtd as int) as quantidade_loja2,

CAST(vl_unit*qtd as Decimal(15,3)) as valorunit_loja2

from vw_vendascolibri where ST_CANCITEM <> 'A' and ST_CANCELADO='N' AND st_mesa = 'P'

paulovendruscol
Creator
Creator

Maciel,

Anexo um exemplo para facilitar o entendimento, basta adaptar.

A separação por aba realmente é necessária? Caso não seja, sugiro você criar um campo para filtrar o usuário escolher qual loja deseja e fazer uso da redução de dados.

Not applicable
Author

Putz, não deixa abrir, excedeu o numero maximo de visualizações.

Já era.

Mas obrigado de qualquer forma.

Clever_Anjos
Employee
Employee

Maciel,

Acredito que você esteja confundindo as coisas.

O script (Control-E) é executado em sua totalidade, limpando os dados e recarregando conforme a sua lógica.

Depois que ele é executado, todos os dados ficam disponíveis para consumo pela interface (Abas do seu print). O script não é re-executado a cada mudança de aba.

O mais racional seria nem ter abas separadas, na minha humilde opinião, o campo "Loja" seria apenas mais um filtro na sua tela, permitindo selecionar uma ou mais lojas (ou nenhuma trazendo o consolidado).

Por favor, pressione Control+T e cole aqui a imagem que irá aparecer para continuarmos ajudando

Not applicable
Author

qlik2.png

O campo chave nesse caso seria o loja_id.

Não sei como separar, ou seja, seleciono loja 1, ele mostra as informações dela, e assim por diante.

Obrigado pela ajuda.

Not applicable
Author

siga esses passos

1- String de conexao banco1

2- Coloca sua query de select

3-String de de conexao banco2

4-Copia a query anterior e cole o select novamente depois da string do banco 2