У меня есть HSQLDB 1.8 в виде mydata.properties и mydata.script. В mydata.script существуют некоторые базовые инструкции SQL для создания схемы и заполнения db.hsqldb * .script.new создание и удаление
Когда я использую стандартный вызов Java JDBC, чтобы загрузить эту базу данных, я заметил, что в файловой системе, следующий, казалось бы, происходит:
- Файл mydata.script.new создается.
- Файл mydata.script удален.
- mydata.script.new переименован в mydata.script
Как я могу предотвратить mydata.script от удаления? Является ли это обычным поведением HSQLDB?
Я хочу, чтобы mydata.script постоянно сохранялся (со своей меткой времени) в файловой системе, он предназначен как источник данных только для чтения.
EDIT: manual указывает, что это поведение по умолчанию в Приложении C. В моем случае использование нескольких программ (а не только Java) читает этот db. Если программа пытается прочитать файл .script в первый раз, только когда она удаляется из-за первого доступа к другой программе, это вызовет ошибки.
EDIT2: Если выше действительно невозможно, не существует способа превратить этот mydata.script (содержащий все вызовы SQL) в какой-то двоичный формат blask HSQLDB, который просто загружается через JDBC и не изменяется?
Так что вы хотите использовать эту базу данных HSQLDB в качестве постоянного ресурса только для чтения нескольких приложений, некоторые из них не реализованы в Java, которые могут попытаться получить доступ к базы данных одновременно. Это верно? –
Это правильно. Необходимо, чтобы этот файл/данные HSQLDB только для чтения просто существовал всегда в файловой системе. – tkja