Java HSQLDB-对用户隐藏数据库结构/内容
我正在考虑在桌面应用程序中使用HSQLDB 1.8.x版来存储本地数据。据我所见,数据库作为许多SQL语句存储在磁盘上,用于创建表、插入数据等Java HSQLDB-对用户隐藏数据库结构/内容,java,hsqldb,Java,Hsqldb,我正在考虑在桌面应用程序中使用HSQLDB 1.8.x版来存储本地数据。据我所见,数据库作为许多SQL语句存储在磁盘上,用于创建表、插入数据等 有没有一种简单的方法可以向用户隐藏这一点?我不需要对其进行完全加密,等等-我只想防止临时用户简单地打开文件并查看数据库的结构。您可以将数据库文件嵌入jar文件中,并使用符号连接到它们: jdbc:hsqldb:res:<path in jar> jdbc:hsqldb:res: 有关这方面的更多信息,请参阅《HSQLDB指南》的一节。但是
有没有一种简单的方法可以向用户隐藏这一点?我不需要对其进行完全加密,等等-我只想防止临时用户简单地打开文件并查看数据库的结构。您可以将数据库文件嵌入jar文件中,并使用符号连接到它们:
jdbc:hsqldb:res:<path in jar>
jdbc:hsqldb:res:
有关这方面的更多信息,请参阅《HSQLDB指南》的一节。但是,我从未尝试过,因此我无法100%确定它是否有效……目前我采用的解决方案是调用:
db.update("SET SCRIPTFORMAT COMPRESSED;");
要以人类无法读取的形式存储.script文件,请执行以下操作:
db.update("SET PASSWORD password;");
为了防止更多精明的用户使用自己的HSQLDB客户端打开数据库。不幸的是,我无法执行下面的命令
更新(“设置脚本格式压缩”) 这是一个错误
java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: SCRIPTFORMAT
使用此命令解决此错误更新(“设置文件脚本格式压缩”)
我使用的是HSQLDB2.3.3版本2.x中的命令是
SET FILES脚本压缩格式