2009-08-24 46 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