Banco de Dados: Armazenamento em Cache. Duvida

Bom dia galera…

Estou aqui desenvolvendo um projetinho basico e me deparei com uma especificação:

“Os Dados, antes de serem enviados para o Servidor com SGBD, deve, primeiramente
passar por um cache local (arquivo, log) e ao final do processo, todas as atualizacoes
sao realizadas de uma só vez.”

Gente nem sei como fazer isso…
tem como?

Algo pronto na SDK?

abs galera

Pelo que eu entendi do seu requisito vc deve manter uma base de dados local e em algum momento sincronizar com um servidor de banco de dados.

No seu lugar eu utilizaria o HSQLDB como base de dados local. O HSQLDB é um banco de dados relacional desenvolvido em Java, e que aceita os comandos SQL.

1 - faça as operações de armazenamento com o HSQLDB em 1o. lugar, como se vc estivesse interagindo com o servidor de banco de dados

2 - peque os arquivos de log do HSQLDB, que são os comandos SQL (DML) que vc executou e mande executar no servidor de banco de dados

3 - talvez vc vai ter que pensar em como sincronizar a base local com o servidor principal

hummm
entendo…

o servidor (HSQLDB) pode ser manipulado internamente?
ou toda vez que eu for executar a aplicação eu tenho que executar o jar do BD para que a ela (a app) se conecte?

Vc consegue rodar o HSQLDB embutido na sua aplicação, sem precisar subir um processo à parte :slight_smile:

http://www.guj.com.br/java.tutorial.artigo.162.1.guj

Bom, pelo que eu entendi, se toda essa preocupação de log for apenas para poder acumular as querys para realizar as atualizações de uma só vez, você consegue fazer isso simplesmente usando os métodos addBatch(String sql) para acumular as querys e, ao final de tudo, o executeBatch() as executa de uma só vez. Estes são métodos da interface Statement do JDBC (http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Statement.html).

Eu acho mais fácil tu conversar com quem escreveu isso e perguntar exatamente o que ele quer dizer.

bom men

ambos deram ideias otimas … (Eduardo e o rbellia)

tentarei fazer dos dois modos mas como tenho q armazenar um log com as transacoes, acho que deve ser feito pelo modo do rbellia…

Eduardo , tem como salvar o log desse Bacth?

você trocou o nomes

lol

eh verdade…

agora esta certo