programing

h2 데이터베이스에서 스크립트 파일 실행

goodcopy 2021. 1. 19. 08:05
반응형

h2 데이터베이스에서 스크립트 파일 실행


우선 h2 데이터베이스를 처음 사용한다고 말하고 싶습니다. h2 데이터베이스에서 SQL 스크립트 파일을 실행해야합니다. 스크립트 파일 test.sql이 있고 이것을 h2 데이터베이스에서 실행하고 싶습니다. 가능합니까?


RUNSCRIPT SQL 문을 사용할 수 있습니다 .

RUNSCRIPT FROM 'test.sql'

또는 RunScript 독립 실행 형 / 명령 줄 도구를 사용할 수 있습니다 .

java -cp h2*.jar org.h2.tools.RunScript -url jdbc:h2:~/test -script test.sql

응용 프로그램 내에서 RunScript 도구를 사용할 수도 있습니다.

RunScript.execute(conn, new FileReader("test.sql"));

당신이 H2 봄 부팅 및 스프링 테스트를 사용하는 경우 자동으로 찾습니다 schema.sqldata.sql클래스 경로에 이러한 실행을 시도. 따라서 그것들을 넣으면 src/test/resources자동으로 선택되고 실행되어야합니다.

또한 속성으로 실행할 데이터 파일을 지정할 수 있습니다. 예를 들어 당신의 application.properties마음에 속성을 추가

spring.datasource.data=classpath:users.sql, classpath:books.sql, classpath:reviews.sql

실행하는 대신 세 개의 SQL 파일을 실행하도록 스프링을 구성합니다. data.sql


v. 1.4.192를 사용하는 OSX (정말 중요하지 않음)에서 다음 명령을 사용하여 내가 무엇을하더라도 결과를 볼 수 없습니다.

java -cp h2*.jar org.h2.tools.RunScript -url "jdbc:h2:file:~/testdb" -user someusername -password somepass -script select.sql

select.sql은 단순히 다음과 같습니다.

select * from PUBLIC.MYTABLE;

-showResults출력이 나타나기 전에 추가 해야했습니다. 다음은 완전한 명령입니다.

java -cp /Users/az/.m2/repository/com/h2database/h2/1.4.192/h2-1.4.192.jar org.h2.tools.RunScript -url "jdbc:h2:file:~/testdb" -user someusername -password somepass -script select.sql -showResults

필요한 jar가없는 경우 여기 에서 다운로드 하십시오 ( jar각 버전 옆 링크를 클릭하십시오 ). 항아리에 대한 일부 직접 링크는 다음과 같습니다.

1.4.193 (2016 년 10 월 31 일 업데이트 됨)

1.4.192 (2016 년 5 월 26 일 업데이트 됨)

1.4.191 (2016 년 1 월 21 일 업데이트 됨)

1.4.190 (2016 년 10 월 11 일 업데이트 됨)


나를 위해 시스템은 다음과 같이 응답했습니다.

org.h2.tools.RunScript 드라이버를 찾지 못했습니다.

해결책은 다음과 같습니다.

java -classpath <path_to_your_h2-*.jar> org.h2.tools.RunScript \
-url jdbc:h2:tcp://localhost/~/test -script test.sql

참조 : http://www.h2database.com/html/tutorial.html#using_server

참조 URL : https://stackoverflow.com/questions/10675768/executing-script-file-in-h2-database

반응형