Acessar varios bancos

Delphi

07/07/2010

Utilizo delphi 7 com dbexpress e FB, neste momento tenho um banco de dados sendo acessado, mas estou precisando acessar em um determinado momento o banco original e em outro momento um outro banco em outro local e seria necessario ate mesclar dados dos 2 bancos.   Alguem ja fez algo parecido ou tem alguma sujestao, para eu iniciar os estudos sobre o caso ?     Abs  
Felipe Ip

Felipe Ip

Curtidas 0

Respostas

Wilson Junior

Wilson Junior

07/07/2010

Tenha 2 TSQLConnection, uma para cada banco, é a melhor maneira, e mais segura, de se relacionar entre eles.

Espero ter colaborado.
GOSTEI 0
Felipe Ip

Felipe Ip

07/07/2010

Sim, estou inclusive testando dessa maneira. Agora talvez o impossivel. Sera que vou conseguir por exemplo em um relatorio mesclar dados da mesma tabela, porem de bancos diferentes ? Ja que o SQLDataset se conecta a apenas 1 SQLConnection.   Abs  
GOSTEI 0
Villatore Ltda

Villatore Ltda

07/07/2010

Faz assim cria um data set temporario e concatena as duas consulta!

me avise se deu certo

abraços
GOSTEI 0
Marco Salles

Marco Salles

07/07/2010

Só a título de iinformação , a partir do Firebird 2.5 existe o Recurso de Query Externa , que é a capacidade de Executar comandos em Bancos de Dados Diferentes diferente daquele que vc esta conectado. A limitação para este Recurso por enquanto é que so se pode excecutar este Sql dentro de Procedure , Triguer ou Execute Block   Para o Futuro quem sabe  
'Select * From TabelaA 
Execute Statement  ('Select * From TabelaB')
On External('Servidor2:C:\CaminhoDaTabelaB')
  Claro que o codigo acima é uma Pseudo Linguagem , mas se vc tiver usando o Firebird 2.5 fique sabendo do Recurso de queries externas . Ai é so implementa-lo conforme a sua necessiade respeitando as devidas limitaçoes que comentei acima
GOSTEI 0
Felipe Ip

Felipe Ip

07/07/2010

Tenho feito da maneira sujerida, faço a consulta usando SQLDataset , um para cada banco (tabela) e depois junto tudo em um ClientDataset em Memoria.   Achei que pudesse existir alguma outra maneira para este momento.   Obrigado a todos   Abs    
GOSTEI 0
POSTAR