-
"C:/Users/.../jpashop" not found, either pre-create it or allow remote database creation (not recommended in secure environments)error 2025. 11. 7. 10:06
H2의 3가지 모드
- 임베디드(jdbc:h2:~/jpashop) :애플리케이션(또는 콘솔)에서 직접 파일 생성 및 접근 가능
- TCP서버(jdbc:h2:tcp://localhost/~/jpashop) : 이미 존재하는 DB 파일에 원격으로 접근 가능
- In-memory(jdbc:h2:mem:jpashop) : 파일 없이 휘발성으로 운영
TCP 모드에서 새 DB가 자동생성 되지 않는 이유
TCP 모드는 서버가 DB 파일을 관리한다
즉, 콘솔은 서버에 요청만 할 수 있기 때문에 새 DB를 마음대로 생성할 수 있게 두면 누군가 임의의 요청으로 서버 파일 시스템 어딘가에 임의의 DB를 만들 수 있게 된다
이때 보안 취약점이 되기 때문에 기본적으로 차단된다
자동으로 새 DB 생성을 하게 하려면?
임베디드로 한 번 생성하거나 서버를 -ifNotExists 옵션으로 실행해야 한다
C:\Program Files\H2\bin # h2.bat 파일편접 @java -cp "%H2DRIVERS%;%H2SERVER%" org.h2.tools.Server %* @java -cp "%H2DRIVERS%;%H2SERVER%" org.h2.tools.Server -tcp -web -browser -ifNotExists -baseDir "주소" %*728x90'error' 카테고리의 다른 글