Есть ли в HSQLDB какой-то механизм для сохранения данных в памяти в файл? - PullRequest
10 голосов
/ 18 июля 2011

Есть ли в HSQLDB какой-то механизм для сохранения данных в памяти в файл?

Как я знаю, после выключения сервера все данные в памяти становятся недоступными. Поэтому я хочу сохранить все данные в памяти в файл. К сожалению, я не могу использовать механизм BACKUP, потому что он не может быть применен к данным в памяти.

Ответы [ 2 ]

9 голосов
/ 18 июля 2011

Базы данных HSQLDB бывают разных типов.Все базы данных в памяти не сохраняют данные на диск.Эти базы данных имеют URL-адреса в виде jdbc:hsqldb:mem:<name>.

Если URL-адрес вашей базы данных имеет вид jdbc:hsqldb:file:<file path>, а ваши таблицы являются таблицами MEMORY по умолчанию, все данные хранятся в памяти, но изменения записываются в набор файлов на диске.

Для всех типов баз данных, включая all_in_memory, вы можете использовать оператор SQL SCRIPT <file path> для сохранения полной базы данных в файл.Если вы сохраняете данные в файл с расширением .script, вы можете открыть файл как базу данных файлов.

При запуске сервера URL-адреса используются без префикса jdbc:hsqldb, напримерserver.database.0=file:C:/myfile

См. Руководство здесь http://hsqldb.org/doc/2.0/guide/running-chapt.html#running_db-sect

7 голосов
/ 29 августа 2012

Для этого есть команда SQL. Попробуйте это:

SCRIPT '/tmp/data.sql'

Подробнее см. здесь .

...