HSQLDB - основной файл базы данных - PullRequest
10 голосов
/ 24 июня 2011

Я использую HSQLDB во встроенном режиме.

"jdbc: hsqldb: file: abc \ TESTDB;

после создания базы данных в папке abc есть следующие файлы

TESTDB.lck TESTDB.script TESTDB.log TESTDB.properties

мое приложение работает нормально

Но у меня вопрос, какой файл базы данных является основным среди перечисленных выше файлов?

или основной файл базы данных хранится в каком-то другом месте?

Ответы [ 3 ]

8 голосов
/ 25 июня 2011

.script содержит все операторы для создания таблиц, их изменения и вставки данных.Этот файл создается при использовании hsqldb в памяти.(поэтому я бы сказал, что это ваша база данных) В противном случае база данных хранится в .data , как уже сказали другие люди

.lck - это файл блокировки, с помощью которого hsqldb знает, заблокирована ли база данных процессом.Обычно у вас есть этот файл только во время работы вашей программы, и он автоматически удаляется при остановке программы.

.log содержит внутренние записи журнала запущенных транзакций дляпример и некоторые точки фиксации или отката.

.properties содержит свойства, с которыми инициализируется hsqldb (лучше ничего не менять там, если вы не знаетечто ты делаешь).Это не следует путать с сохранением конфигурации устройства.

С уважением

6 голосов
/ 24 июня 2011

Файл, содержащий ваши фактические данные, может не существовать в вашей папке по разным причинам, особенно если вы используете таблицы в оперативной памяти или не кэшированные. HSQLDB использует различные файлы, которые вы нашли в своей рабочей папке по разным причинам. Подробнее об их назначении вы можете прочитать здесь: Справочник по HSQLDB .

Я перефразирую некоторую более важную информацию:

Файл сценария содержит определение таблиц и др. объекты базы данных плюс данные для некэшированные таблицы. Файл журнала содержит последние изменения в база данных. Файл данных содержит данные для кэшированных таблиц и резервной копии файл является резервной копией последнего архива известное непротиворечивое состояние данных файл. Все эти файлы необходимы и никогда не должен быть удален. Если база данных не имеет кэшированных таблиц, Файлы test.data и test.backup будут не присутствовать. В дополнение к тем файлы, база данных HSQLDB может ссылаться на любой отформатированные текстовые файлы, такие как CSV списки, где угодно на диске.

Пока «тестовая» база данных работающий, используется файл test.log записать изменения, внесенные в данные. Этот файл удаляется при нормальном НЕИСПРАВНОСТЬ. В противном случае (с ненормальным выключение) этот файл используется на следующий запуск, чтобы повторить изменения. файл test.lck также используется для записи тот факт, что база данных открыта. Это удаляется при нормальном ОТКЛЮЧЕНИИ. В некоторых случаях test.data.old создается и удаляется впоследствии.

0 голосов
/ 24 июня 2011

Я думаю, у вас должен быть файл .data после добавления записей в базу данных. В случае, если я не прав, вот документация для вас:

http://hsqldb.org/doc/guide/apc.html

http://hsqldb.org/doc/guide/ch04.html

...