2009-08-24 50 views
1

我正在考虑在桌面应用程序中使用HSQLDB版本1.8.x来存储本地数据。从我所看到的情况来看,数据库以多个SQL语句存储在磁盘上以创建表格,插入数据等。HSQLDB - 隐藏用户的数据库结构/内容

是否有一种简单的方法可以隐藏用户?我不一定需要它被完全加密等 - 我只想阻止临时用户只是打开文件并查看数据库的结构。

回答

1

我已经与现在的解决方法是调用:

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

存储.script文件以不可读的形式出现,并且:

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

阻止更聪明的用户使用他们自己的HSQLDB客户端打开数据库。

1

你可以一个jar文件内嵌入您的数据库文件和使用符号连接到它们:

jdbc:hsqldb:res:<path in jar> 

退房的HSQLDB指南的Advanced Topics部分更多这方面的信息。但是,我从来没有尝试过这样是不是100%肯定它会工作...

0

不幸的是我不能执行以下命令
db.update(“SET scriptformat COMPRESSED”);

,并收到此错误

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

此错误使用此命令解决
db.update( “文件集的脚本格式压缩”);

我使用HSQLDB 2.3.3

+0

命令在2.x版的'文件集的脚本格式COMPRESSED' – fredt 2016-12-02 17:20:36