Domanda

Sto pensando di utilizzare HSQLDB versione 1.8.x in un'applicazione desktop per l'archiviazione di dati locali. Da quello che posso vedere, il database è memorizzato su disco come una serie di istruzioni SQL per creare le tabelle, inserire i dati, ecc.

C'è un modo semplice che posso nascondere questo da parte degli utenti? Sto non hanno necessariamente bisogno di essere completamente cifrato, ecc -. Vorrei solo per evitare che l'utente occasionale dal semplicemente aprendo il file e vedere la struttura del database

È stato utile?

Soluzione 2

La soluzione sono andato con per ora è quello di chiamare:

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

per memorizzare il file .script in forma umana-illeggibile e:

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

per evitare che altri utenti esperti di aprire il DB utilizzando il proprio client HSQLDB.

Altri suggerimenti

Si potrebbe incorporare i file di database all'interno di un file jar e connettersi a loro utilizzando la notazione:

jdbc:hsqldb:res:<path in jar>

Controlla la sezione Argomenti avanzati della guida HSQLDB per ulteriori informazioni su questo . Tuttavia, non ho mai provato in modo non sono sicuro al 100% che funzionerà ...

Purtroppo non è stato in grado di eseguire il comando di seguito
db.update ( "SET scriptformat COMPRESSA");

Ed è stato questo errore

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

Questo errore risolto con questo comando
db.update ( "SET file script formato compresso");

Sto usando HSQLDB 2.3.3

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top