Acessando Oracle Remotamente

1 resposta
fabim

Oi pessoal…
tenho o seguinte cenario:

Uma aplicacao Java, que possui uma base de dados local em Firebird… isso vai rodar em varios clientes… num servidor, uma base de dados Oracle…

A aplicacao precisa poder rodar tanto off-line qto online… dai o q acontece e o seguinte: ela vai cadastrando no firebird, entao entra uma aplicacaozinha separada que vai ficar lendo a tabela e ver quais ainda nao foram enviados pro servidor… sempre q a conexao com o servidor estiver disponivel ela vai processar os registros ‘pendentes’… (eu sei, nao e nada elegante essa solucao, mas tem q ser assim =/

alguem ja passou por isso e pode me dizer quais ferramentas seriam mais interessantes de usar?

1 Resposta

guilherme.chapiewski

Eu já passei por isso tendo que usar a mesma aplicação rodando sob MySQL em alguns clientes e sob Oracle em outros…

A solução foi usar o Hibernate para persistência e não usar nenhuma query nativa, somente Criterias e HQL.

O Hibernate gera queries nativas para cada um dos banco de dados de acordo com a sua configuração. Em alguns clientes eu configurei Hibernate para usar Oracle e em outros para usar em MySQL e o framework fazia o resto.

Uma segunda forma de fazer sem ter que usar Hibernate é usando design patterns (DAO e Factory). Você teria que desenvolver queries (e DAOs) compatíveis com cada um dos bancos de dados e a sua Factory iria inicializar o DAO correto de acordo com a configuração de banco de dados selecionada. Desta forma seria somente uma questão de parâmetro da aplicação para fazer com que ela usasse um banco de dados ou outro. Dessa maneira dá mais trabalho mas também funciona.

Abraços,
Guilherme Chapiewski

Criado 8 de janeiro de 2007
Ultima resposta 9 de jan. de 2007
Respostas 1
Participantes 2