ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Integração entre diferentes bancos de dados

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
lucasferreto
Novato
Novato


Registrado: Domingo, 11 de Outubro de 2020
Mensagens: 1

MensagemEnviada: Dom Out 11, 2020 2:30 pm    Assunto: Integração entre diferentes bancos de dados Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Dom Out 11, 2020 5:45 pm    Assunto: Responder com Citação

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
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB