to usando hsqld na minha aplicação e ele grava certo no banco. Porém algo me chamou a atenção, ele cria tudo em memoria.
CREATEMEMORYTABLEPUBLIC.FUNCIONARIO
Se eu movo meu jar de um diretorio para outro, eu continua acessando meus dados.
Mas se eu mover meu jar para outro computador e tentar abrir o banco, ele não localiza as informações e cria um banco novo.
pelo que andei lendo, ele funciona bem na mesma VM, mantendo os dados na memoria. Mas como eu faria para gravar os dados standalone?
eu quero guardar e mesmo se precisar mover de um computador para outro, ter essas informações persistidas.
Você pode mudar o tipo da tabela existente com o seguinte SQL:
SETTABLE<tablename>TYPE{CACHED|MEMORY};
E se você quiser manter um tipo de tabela (CACHED ou MEMORY) pré-definido quando da criação de futuras tabelas, faça o seguinte:
SETDATABASEDEFAULTTABLETYPE{CACHED|MEMORY};
Até mais.
J
javaCBA
mas a duvida é:
onde ta ficando os dados armazenados?
porque se eu movo o jar de computador, os dados somem da tabela.
jMarcel
Qual o tipo de driver vc está usando no seu BD ?
J
javaCBA
to usando o hsqldb 2 , modo stanladone
chamo assim na aplicação acfg.setProperty("hibernate.connection.url", "jdbc:hsqldb:/swing/desktop");
sendo que swing eh o nome do projeto e desktop eh o nome do script que ele gera.
jMarcel
Verifique se seus arquivos do BD (*.data, *.script, *.log, *.properties e/ou *.lobs) estão no path [color=blue]/swing/desktop[/color] do outro PC também.
Aliás, só pra deixar claro, para acessar o BD, de alguma forma você precisará acessar esses arquivos: ou em modo server ou in-process.
Ok. Você está usando o modo de execução ‘in-process’ (standalone).
O HSQLDB possui 4 tipos de drivers (Server, Embedded, WebServer e In-Memory).