bertani 0 Denunciar post Postado Maio 12, 2011 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
quintelab 91 Denunciar post Postado Maio 15, 2011 Como você faria esse sql em dois bancos diferentes em um gerenciador de banco? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
bertani 0 Denunciar post Postado Maio 16, 2011 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
quintelab 91 Denunciar post Postado Maio 18, 2011 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
bertani 0 Denunciar post Postado Maio 18, 2011 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
quintelab 91 Denunciar post Postado Maio 18, 2011 Não existe relação entre essas duas conexões, no momento de fazer a consulta irá conseguir usar apenas uma. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
bertani 0 Denunciar post Postado Maio 23, 2011 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