|
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
lucasferreto Novato
Registrado: Domingo, 11 de Outubro de 2020 Mensagens: 1
|
Enviada: Dom Out 11, 2020 2:30 pm Assunto: Integração entre diferentes bancos de dados |
|
|
Olá a todos!!
É o seguinte, estou criando uma aplicação que vai enviar e-mails para uma lista de e-mails cadastrados no sistema, no qual utiliza o banco Firebird, porém, além de ser possível cadastrar os e-mails pelo sistema, também preciso pegar os e-mails do banco de dados de um site, que utiliza MySQL e inserir esses e-mails na tabela de e-mails do banco Firebird. A estrutura da tabela de e-mails do Firebird é bem simples, apenas um campo ID (integer) e um campo EMAIL(varchar).
Sei que preciso de dois FDConnections, cada um conectado em um banco de dados, mas como posso fazer para passar a informação do banco MySQL para o banco Firebird? E como fazer para evitar duplicações (transferir somente os e-mails que não existam no Firebird)? Grato a todos. |
|
Voltar ao Topo |
|
|
imex Moderador
Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Dom Out 11, 2020 5:45 pm Assunto: |
|
|
Boa tarde,
Seguindo o seu raciocínio inicial, você poderia utilizar uma consulta simples ligada a um dos FDConnections para ler os e-mails que estão no banco de dados MySQL. Seria necessário um looping para ler cada registro retornado para passar o e-mail como parâmetro para um Insert no Firebird que teria uma clausula Where para evitar as duplicações. Ex:
Código: | insert into MinhaTabelaEmails (Email)
select :Email from rdb$database
where not exists(select 1 from MinhaTabelaEmails where Email = :Email) |
Não sei se o componente que você vai utilizar para executar o Insert vai aceitar duas ocorrências do parâmetro Email no Insert. Se não aceitar deixe os parâmetros com nomes diferentes e passe cada e-mail para os 2 parâmetros.
Espero que ajude |
|
Voltar ao Topo |
|
|
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|