errors
스프링 에러 (Spring Errors)
Table BATCH_JOB_INSTANCE not found
·
Table BATCH_JOB_INSTANCE not found 에러는 언제 발생하는가?
error
bad SQL grammar [SELECT JOB_INSTANCE_ID, JOB_NAME from BATCH_JOB_INSTANCE where JOB_NAME = ? and JOB_KEY = ?]
nested exception is org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "BATCH_JOB_INSTANCE" not found;
Reason
- Spring Batch 메타 테이블들이 존재하지 않아서 발생하는 것입니다.
Solution
- h2 database
datasource:
driver-class-name: org.h2.Driver
url: jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;MODE=MYSQL;
username:
password:
schema: classpath:/org/springframework/batch/core/schema-h2.sql
- Mysql
mysql 같은 외부 DB를 사용하게 된다면, spring-batch-core에 있는 meta schema에 테이블 생성관련 명령어들이 있습니다. 이 것들을 활용하여 DB에 Table들을 생성합니다.
classpath:/org/springframework/batch/core/schema-mysql.sql
또는 git-spring-batch에 있습니다.