HSQLDB - estrutura de banco de dados esconderijo / conteúdos de usuários

StackOverflow https://stackoverflow.com/questions/1322781

  •  19-09-2019
  •  | 
  •  

Pergunta

Estou pensando em usar HSQLDB versão 1.8.x em um aplicativo de desktop para armazenar dados locais. Pelo que posso ver, o banco de dados é armazenado no disco como uma série de instruções SQL para criar as tabelas, inserir os dados, etc.

Existe uma simples maneira que eu posso esconder isso de usuários? Estou não precisa necessariamente que ele seja completamente criptografado, etc -. Eu só gostaria de evitar que o usuário casual de simplesmente abrir o arquivo e ver a estrutura do banco de dados

Foi útil?

Solução 2

A solução que eu já passei por agora é chamar:

db.update("SET SCRIPTFORMAT COMPRESSED;");

para armazenar o arquivo .script em uma forma humanamente ilegível e:

db.update("SET PASSWORD password;");

para impedir que usuários mais experientes de abrir o DB usando seu próprio cliente HSQLDB.

Outras dicas

Você pode inserir seus arquivos de banco de dados dentro de um arquivo jar e conectar a eles usando a notação:

jdbc:hsqldb:res:<path in jar>

Confira o seção Tópicos Avançados do guia HSQLDB para mais informações sobre este . No entanto, eu nunca tentei, então não estou 100% de certeza que ele vai trabalhar ...

Infelizmente eu não era capaz de executar o comando abaixo
db.update ( "SET scriptformat comprimido");

E foi recebendo este erro

java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: SCRIPTFORMAT

Este erro resolvido com este comando
db.update ( "SET arquivos de script formato comprimido");

Eu estou usando HSQLDB 2.3.3

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top