Как получить поток в базу данных «в памяти», созданную через H2DB? - PullRequest
2 голосов
/ 19 апреля 2010

Мне нужно создать такой механизм:

  1. Создать базу данных в памяти (H2DB);
  2. Создать таблицы и заполнить их, используя некоторые данные;
  3. Получить поток в эту базу данных;
  4. Отправить этот поток через WebDAV или что-то еще;

Я знаю все, кроме того, что «Как получить поток в базу данных« в памяти », созданную через H2DB»?


И некоторые объяснения:

  • Я не могу создать файл из-за некоторых ограничений сервера;
  • Мне нужен этот поток для создания файла;

Ответы [ 2 ]

2 голосов
/ 21 сентября 2010

Вы можете создать сценарий SQL из базы данных, используя org.h2.tools.Script.execute (String url, String user, String password, OutputStream out) . Это работает даже для баз данных в памяти.

Вы можете использовать так называемую файловую систему в памяти . Однако, чтобы получить файл в виде потока, вам потребуется использовать внутренний API-интерфейс файла H2 (org.h2.IOUtils.openFileInputStream).

0 голосов
/ 19 апреля 2010

H2 поддерживает Базы данных в памяти с использованием URL базы данных jdbc:h2:mem:.

Приложение. После подключения к базе данных вы можете отправлять запросы, используя jdbc для получения требуемых данных. DatabaseMetaData может быть полезно для всестороннего доступа. Формат потоковой передачи будет зависеть от предполагаемой цели.

...