我有一個mydata.properties和mydata.script形式的HSQLDB 1.8。在mydata.script中,有一些基本的SQL語句來創建模式並填充數據庫。hsqldb * .script.new創建和刪除
當我使用一個標準的Java JDBC調用來加載這個數據庫,我注意到,在文件系統中,以下看似發生了:正在創建
- 的文件mydata.script.new。
- 文件mydata.script被刪除。
- mydata.script.new更名爲mydata.script
如何防止被刪除mydata.script?這是正常的HSQLDB行爲?
我希望mydata.script在文件系統中始終保持(使用它的時間戳),它的意思是作爲只讀數據源。
編輯:manual確實聲明這是附錄C中的默認行爲。在我的使用案例中,多個程序(不僅是Java)讀取此數據庫。如果一個程序第一次嘗試讀取.script文件,而第一次訪問另一個程序時,它將被刪除,這會導致錯誤。
編輯2:如果上述確實不可能,是否沒有辦法將此mydata.script(包含所有SQL調用)轉換爲剛剛通過JDBC加載並且未修改的某些二進制HSQLDB blob格式?
所以,你想用這個HSQLDB數據庫作爲多應用的持續只讀資源,有些沒有在Java中實現,這可能嘗試訪問數據庫同時。那是對的嗎? –
這是正確的。這個只讀的HSQLDB文件/數據需要在文件系統中始終存在。 – tkja