2016-03-08 89 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對於這種類型的翻譯非常方便,併爲大型數據庫文件提供可選壓縮。

相關問題