Skip to main content
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