Buscar dados em dois bancos diferentes
Olá pessoal.
Estou com uma dúvida trabalhando com mais de um banco de dados ao mesmo tempo. Oracle e SQL Server
No Oracle existe uma tabela de clientes, com código e nome, entre outros campos.
No SQL existe uma tabela que armazena alguns dados adicionais desses clientes, e possui apenas o código do mesmo, fazendo referência à tabela existente no Oracle para pegar o nome.
Utilizando tables, Queries com os campos de Lookup consigo trabalhar normalmente, retornando e exibindo o nome do cliente quando abro a tabela o SQL. Mas o problema ocorre quando preciso fazer uma busca pelo nome do cliente.
Preciso retornar os dados existentes na tabela do SQL, mas buscando apenas pelo nome do cliente, que está no Oracle. Como são bancos diferentes, não consigo fazer nenhuma ligação entre os dois. Alguém conhece alguma maneira de se fazer isso?
Faço a busca sempre utilizando um TADOQuery, utilizando um select conforme a pessoa vai digitando os dados na tela. Alguém conhece alguma maneira para que eu possa fazer essa busca??
Qualquer informação adiocional que alguem precisar me avise.
Obrigado.
Estou com uma dúvida trabalhando com mais de um banco de dados ao mesmo tempo. Oracle e SQL Server
No Oracle existe uma tabela de clientes, com código e nome, entre outros campos.
No SQL existe uma tabela que armazena alguns dados adicionais desses clientes, e possui apenas o código do mesmo, fazendo referência à tabela existente no Oracle para pegar o nome.
Utilizando tables, Queries com os campos de Lookup consigo trabalhar normalmente, retornando e exibindo o nome do cliente quando abro a tabela o SQL. Mas o problema ocorre quando preciso fazer uma busca pelo nome do cliente.
Preciso retornar os dados existentes na tabela do SQL, mas buscando apenas pelo nome do cliente, que está no Oracle. Como são bancos diferentes, não consigo fazer nenhuma ligação entre os dois. Alguém conhece alguma maneira de se fazer isso?
Faço a busca sempre utilizando um TADOQuery, utilizando um select conforme a pessoa vai digitando os dados na tela. Alguém conhece alguma maneira para que eu possa fazer essa busca??
Qualquer informação adiocional que alguem precisar me avise.
Obrigado.
Prgdelphi
Curtidas 0
Respostas
Rafael Gomes
18/04/2006
bom amigo, imaginei uma forma de se fazer isso utizando ADO ...
nao sei se dará certo, teste e depois poste o resultado ...
se os campos identificadores das tabelas (chaves primarias) tiverem o mesmo nome em ambos os bancos tente fazer o seguinte ...
- insira 2 querys, 2 DataSources ... a primeira query será do ORACLE, a segunda do SQL Server ...
- conecte cada query a seu respectivo objeto de conexao
- configure a propriedade DataSource da segunda query com o nome do DataSource da primeira ...
agora as instrucoes SQL deveriam ficar assim ...
primeira query
select * from clientes
segunda query
select * from detalhe_clientes where codcliente = :codcliente
nunca testei isso dai ... mas pode ser que funcione pela forma como o ADO trata esse tipo de estrutura ...
caso isso nao funcione, imagino que voce só teria outra opcao, que seria pegar o codigo do cliente da tabela Oracle, e pesquisar depois na tabela do SQL Server ... o problema é que a consulta deve se restringir a apenas uma linha de resultado ... feito isso, é só montar na mao um jeito de apresentar os resultados obtidos ....
seria mais ou menos isso ...
qualquer duvida poste novamente ...
[..] s
nao sei se dará certo, teste e depois poste o resultado ...
se os campos identificadores das tabelas (chaves primarias) tiverem o mesmo nome em ambos os bancos tente fazer o seguinte ...
- insira 2 querys, 2 DataSources ... a primeira query será do ORACLE, a segunda do SQL Server ...
- conecte cada query a seu respectivo objeto de conexao
- configure a propriedade DataSource da segunda query com o nome do DataSource da primeira ...
agora as instrucoes SQL deveriam ficar assim ...
primeira query
select * from clientes
segunda query
select * from detalhe_clientes where codcliente = :codcliente
nunca testei isso dai ... mas pode ser que funcione pela forma como o ADO trata esse tipo de estrutura ...
caso isso nao funcione, imagino que voce só teria outra opcao, que seria pegar o codigo do cliente da tabela Oracle, e pesquisar depois na tabela do SQL Server ... o problema é que a consulta deve se restringir a apenas uma linha de resultado ... feito isso, é só montar na mao um jeito de apresentar os resultados obtidos ....
seria mais ou menos isso ...
qualquer duvida poste novamente ...
[..] s
GOSTEI 0