2016-03-08 109 views
1

我正在写嵌入式H2数据库的便携式应用程序。因此,有2例:加载嵌入式H2数据库到内存

  1. 应用程序从存储写(闪存,硬盘等)

    这是默认的情况下运行。我使用db文件并将数据存储到此文件中。

    dataSource = new JdbcDataSource(); dataSource.setURL(“jdbc:h2:./”+ dbfile +“; MVCC = FALSE; MV_STORE = FALSE”);

  2. 应用从只读存储上运行(如CD,中小企业,软件tsclient等)

    在这种情况下,我打开文件,数据库,然后我在内存中创建数据库

    JdbcDataSource memory = new JdbcDataSource(); memory.setURL(“jdbc:h2:mem:default”);}}

    然后我将复制fileDB所有数据使用脚本有很多SELECT ... INSERT到memoryDB ...

有没有从文件直接加载到数据库内存的方式? 可能我可以复制表格更优雅的方式?

+0

使用ORM像Hibernate一样用H2,加载对象,复制对象,保存对象 –

回答

0

您可以执行SCRIPT命令:

SCRIPT TO '[some_location]'

脚本数据库的当前状态的文件系统。然后使用RUNSCRIPT命令:

`RUNSCRIPT FROM '[some_location]'

加载数据库一旦你创建了JDBC:H2:MEM连接。 SCRIPT TO和RUNSCRIPT对于这种类型的翻译非常方便,并为大型数据库文件提供可选压缩。

相关问题