Replicação de base de dados usando JAVA?

6 respostas
D

Ola pessoal!
Estou com um problema aqui e preciso da ajuda de vcs. Bom, a empresa aqui tem um programa que monitora e grava num banco de dados SQL SERVER 2005 Express toda a movimentação de paginas impressas. Temos 15 filiais, e em todas elas este programa esta instalado e gerando os dados no banco. O problema e que eu preciso fazer a replicação deste dados gerados de todas as filiais e centraliza-los em um banco apenas. O SQL SERVER 2005 Express que e instalado automaticamente por este programa nao consegue fazer a publicação dos dados, ele apenas assina uma publicação, e o programa nao aceita outro tipo de banco que nao seja o Express. Neste caso nao resta outra opação a nao ser construir uma aplicação que rode todos os dias num determinado horario e que se conecte as filias fazendo o select e inserindo na base central. Em relação a consistencia dos dados, nao havera problema, pois o programa so gera dados até as 20:00, e apartir deste horario nao e gravado mais nada no banco. A minha duvida é: È possivel desenvolver algo assim no java? Se sim, Qual a melhor forma de desenvolver? pois nao tive nenhum problema semelhante ainda. Peço por favor que me ajudem, pois nao tenho uma ideia legal de fazer isso. Desde ja agradeço a colaboração de vcs, valeu galera.

6 Respostas

D

Poxa gente.
Sera que ninguem pode me ajudar?
Todo mundo falando que esse daqui era o melhor site pra tirar minhas duvidas em java, poxa, vim correndo pra ca. Me ajudem ai pessoal.

viniciusfaleiro

Sim é possível. E por sinal acho bem simples. Você precisa apenas ter um bom conceito de banco de dados e catalogo de banco para deixar sua aplicação a mais generalista possível. Sei que é “simples” pois tenhu uma aplicação que faz esse tipo de serviço para sincronizar informações do SAP com Mysql. São bancos totalmente diferentes com tabelas totalmente diferentes más com o software consigo configurar tudo e fazer essa sincronização agendando recursão (fazer semanal, diário).

Pra mim resolveu e muito.

D

Valeu amigo pela resposta, agora so uma duvida: como eu vou armazenar os valores retornados da consulta para inserilos na outra base: terei que pegar linha por linha do banco? Se puderem dar um exemplo ficarei gratissisimo.Obrigado pessoal.

I

Acho que posso te ajudar, quando vc faz sua consulta armazena o resultado em um Resultset correto ? Dentro do ResultSet tem o comando .next que faz com que ele vá para o próximo registro. Bom, faça um loop que rode enquanto o comando .next for verdadeiro e pegue os dados e insira um por um no outro banco de dados. Quando ele executar o próximo rs.next() e isso nao existir mais ele sai e pronto.
Para fazer a consulta voce pode usar como parâmetro o horário que quiser, faz um select dos dados que foram inseridos naquela data ou após o horário determinado e usa o loop para gravar.
Espero ter ajudado.

D

Opa pessoal!
Bom andei dando uma olhada aqui sobre o hibernate para poder fazer essas persistencias dos dados pra mim, mas infelizmente ele nao trabalha com mais de uma conexão de banco, e no caso eu terei 16. Esse era o framework mais indicado para fazer o que eu quero mas nao da mais. Vcs tem alguma dica de outro framework ou outra forma de trabalhar com essas 16 conexoes mas de maneira organizada? Tem algum padrão para trabalhar com essas conexoes? Se tiverem a resposta, postem por favor galera. Muito Obrigado pessoal!

D

Poxa pessoal, me ajuda ai galera!!!

Criado 21 de setembro de 2009
Ultima resposta 8 de out. de 2009
Respostas 6
Participantes 3