我正在考虑在桌面应用程序中使用HSQLDB版本1.8.x来存储本地数据。从我所看到的情况来看,数据库以多个SQL语句存储在磁盘上以创建表格,插入数据等。HSQLDB - 隐藏用户的数据库结构/内容
是否有一种简单的方法可以隐藏用户?我不一定需要它被完全加密等 - 我只想阻止临时用户只是打开文件并查看数据库的结构。
我正在考虑在桌面应用程序中使用HSQLDB版本1.8.x来存储本地数据。从我所看到的情况来看,数据库以多个SQL语句存储在磁盘上以创建表格,插入数据等。HSQLDB - 隐藏用户的数据库结构/内容
是否有一种简单的方法可以隐藏用户?我不一定需要它被完全加密等 - 我只想阻止临时用户只是打开文件并查看数据库的结构。
我已经与现在的解决方法是调用:
db.update("SET SCRIPTFORMAT COMPRESSED;");
存储.script文件以不可读的形式出现,并且:
db.update("SET PASSWORD password;");
阻止更聪明的用户使用他们自己的HSQLDB客户端打开数据库。
你可以一个jar文件内嵌入您的数据库文件和使用符号连接到它们:
jdbc:hsqldb:res:<path in jar>
退房的HSQLDB指南的Advanced Topics部分更多这方面的信息。但是,我从来没有尝试过这样是不是100%肯定它会工作...
不幸的是我不能执行以下命令
db.update(“SET scriptformat COMPRESSED”);
,并收到此错误
java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: SCRIPTFORMAT
此错误使用此命令解决
db.update( “文件集的脚本格式压缩”);
我使用HSQLDB 2.3.3
命令在2.x版的'文件集的脚本格式COMPRESSED' – fredt 2016-12-02 17:20:36