Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

bertani

[Resolvido] Conexão com bases diferentes

Recommended Posts

Boa tarde!

Sou iniciante em C# e estou com uma dúvida na hora de criar conexão com o banco de dados.

Tenho uma aplicação onde preciso usar dados de tabelas diferentes. No meu select tenho campos de outra base de dados. Com seria para criar esta conexão?

Ex:

Eu tenho uma base de dados chamada APOIODB onde possui uma tabela chamada EMB01. Outra base de dados chamada ABCDB onde tenho uma tabela chamada ESTQ.

Bom, no meu select eu preciso usar os campos das duas tabelas.

Da maneira que sei usando apenas uma base de dados faço a conexão da forma abaixo:

SqlConnection conn = new SqlConnection(@"Server=lupusv01;Database=APOIODB;Uid=teste;Pwd=*******;");

 

Poderiam me dar uma luz?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como você faria esse sql em dois bancos diferentes em um gerenciador de banco?

 

Abraços...

Bom, eu queria colocar o seguinte comando sql que usei no Delphi para o C#.

Ele usa duas databases APOIODB(EMB01) e ABC71(ESTQ).

Para fazer a conexão com o banco e fazer com que funcionasse o sql abaixo coloquei assim:(Não sei se esta correto).

 

SqlConnection conn = new SqlConnection(@"Server=server;Database=APOIODB;Uid=id;Pwd=********;");

SqlConnection conn = new SqlConnection(@"Server=server;Database=ABC71;Uid=id;Pwd=********;");

 

depois o comando abaixo:

 

SqlCommand comm = new SqlCommand();

comm.Connection = conn;

comm.CommandText ="SELECT EMB01.EMP_FIL, EMB01.C_PROD CODIGO, EMB01.C_PROD, ESTOQUE.DESCR_1, + ESTOQUE.GRUPO +

FROM EMB01 LEFT JOIN(SELECT DESCR_1, DESCR_1 + ' ' + DESCR_2 AS DESCRICAO, C_PROD AS + PROD, DEPOSITO AS +DEP, ESTAB AS EST,+

EMP_FIL AS FIL, GRUPO AS GRUPO +

FROM ABC71DB.DBO.ESTQ +

WHERE(ESTAB = 1) AND (DEPOSITO = 1) AND (EMP_FIL = :FILIAL OR EMP_FIL = :FILIAL2)) AS ESTOQUE +

ON (EMB01.C_PROD COLLATE SQL_Latin1_general_cp1_ci_as = PROD) AND (EMB01.DEPOSITO = DEP) AND +

(EMB01.ESTAB = EST) AND (EMB01.EMP_FIL = FIL) +

WHERE (((EMB01.EMP_FIL)= :FILIAL) AND ((ESTOQUE.GRUPO) Between 3000000 And 3999999))";

 

conn.Open();

comm.ExecuteReader();

conn.Close();

 

Na verdade estou migrando uma aplicação Delphi para C#, com isso, vou aproveitando os sql. Minha dúvida é na conexão.

Não sei se fui muito claro, mas agradeço a atenção.

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Conseguiu compilar declarando duas vezes uma variável com o mesmo nome?

 

 

SqlConnection conn = new SqlConnection(@"Server=server;Database=APOIODB;Uid=id;Pwd=********;");

SqlConnection conn = new SqlConnection(@"Server=server;Database=ABC71;Uid=id;Pwd=********;");

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Conseguiu compilar declarando duas vezes uma variável com o mesmo nome?

 

 

SqlConnection conn = new SqlConnection(@"Server=server;Database=APOIODB;Uid=id;Pwd=********;");

SqlConnection conn = new SqlConnection(@"Server=server;Database=ABC71;Uid=id;Pwd=********;");

 

Abraços...

Na verdade eu coloquei errado ai, na segunda, usei uma variavel chamada Connex:

SqlConnection conn = new SqlConnection(@"Server=server;Database=APOIODB;Uid=id;Pwd=********;");

SqlConnection connex = new SqlConnection(@"Server=server;Database=ABC71;Uid=id;Pwd=********;");

 

Ele compilou certinho. Fui debugando e o erro que apareceu foi no relacionamento entre as tabelas, pois fiz errado, aparecendo a mensagem seguinte:These collumns don't currently have unique values.

 

Então não dando o erro em relação a conexão, mostra que é não esta errada da maneira que fiz em relação as conexões, certo?

ou esta errado.

 

Obrigado pela atenção

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não existe relação entre essas duas conexões, no momento de fazer a consulta irá conseguir usar apenas uma.

 

Abraços...

Entendi. Acabou dando certo o que fiz.

Desculpe ai pela demora ao responder, tive um probleminha e não pude entrar na net estes dias.

Mas valeu pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.