2010-01-10 7 views
14

H2 데이터베이스 엔진을 사용하여 웹 응용 프로그램을 구축하고 싶습니다. 그러나, 나는 여전히 데이터베이스가 실행되는 동안이 튜토리얼을 읽은 후 데이터를 백업하는 방법을 알고하지 않습니다내장 된 H2 데이터베이스 엔진이 실행되는 동안 그것을 백업하는 방법은 무엇입니까?

http://www.h2database.com/html/tutorial.html#upgrade_backup_restore

합니까 H2 출력의 저장된 파일을 어딘가에 파일 시스템에? 출력 된 파일 만 백업 할 수 있습니까?

+0

가능한 복제 [H2DB에 MySQL은 같은 SQL 덤프를 얻을 수 있습니까?] (http://stackoverflow.com/questions/3256694/how-in-h2db-get-sql-dump-like-in-mysql) – Abdull

답변

11

H2가 파일 시스템에 저장되지만 H2 버전간에 파일 형식이 변경 될 수 있으므로 참조하는 백업 도구를 사용하는 것이 좋습니다. H2를 업그레이드하면 이전 버전에서 작성한 파일을 더 이상 읽을 수 없습니다. 또한 사용하는 파일을 복사하는 경우 데이터베이스를 먼저 종료하는 것이 좋습니다. 그렇지 않으면 복사 한 파일을 H2가 읽을 수 없습니다.

파일의 위치는 지정한 jdbc URL에 따라 다릅니다. FAQ 참조 : http://www.h2database.com/html/faq.html

5

tutorial you linked에 따라 실행중인 파일을 복사하여 데이터베이스를 백업하지 않는 것이 좋습니다. 이 (Source) (스칼라 코드,하지만 쉽게 자바로 변환 할 수 있습니다) 실행되는 동안 여기에 백업하는 올바른 방법은 데이터베이스입니다 :

val connection:java.sql.Connection = ??? // get a database connection 
connection.prepareStatement("BACKUP TO 'myFile.zip'").executeUpdate