How to get stream to "in-memory" database created via H2DB?
I have to create such a mechanism:
- Create in-memory (H2DB) database;
- Create tables and fill them using some data;
- Get stream to that database;
- Send that stream via WebDAV or something else;
I know everything except that "How to get stream to "in-memory" database created via H2DB"?
And some explanations:
- I can't create file because of some server restrictions;
- I nee开发者_运维知识库d that stream to create a file;
You can create the SQL script from a database using org.h2.tools.Script.execute(String url, String user, String password, OutputStream out). This works even for in-memory databases.
You can use the so called 'in-memory file system'. To get the file as a stream, you would need to use the internal H2 file API however (org.h2.IOUtils.openFileInputStream).
H2 supports In-Memory Databases using the database URL jdbc:h2:mem:
.
Addendum: Once you connect to the database, you can submit queries using jdbc to obtain the desired data. DatabaseMetaData
may be useful for comprehensive access. The streaming format will depend on the intended target.
精彩评论