未创建Spring批处理表时没有异常

时间:2018-08-16 15:23:44

标签: spring-batch

如果未创建BATCH_JOB_EXECUTION_CONTEXT,那么我得到的只是:

  

由以下原因引起:org.springframework.jdbc.BadSqlGrammarException:PreparedStatementCallback;错误的SQL语法[INSERT INTO BATCH_JOB_EXECUTION_CONTEXT(SHORT_CONTEXT,SERIALIZED_CONTEXT,JOB_EXECUTION_ID)VALUES(?,?,?)];嵌套的异常是java.sql.SQLSyntaxErrorException:ORA-00942:表或视图不存在

插入表时会显示上述错误,但是在创建表的时候(由spring batch自动完成)没有显示错误。

我想知道未创建表的原因,所以我可以知道是什么问题(数据库权限,表空间问题...)是否可以将其记录在跟踪中?

有关信息,我正在使用oracle数据库12C和ojdbc8版本12.2.0.1

1 个答案:

答案 0 :(得分:2)

Spring Batch不会在数据源中自动创建元数据表。您需要手动对数据库运行tables creation script

但是,如果使用Spring Boot,可以使用spring.batch.initialize-schema属性自动创建这些表。此处有更多详细信息:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-initialize-a-spring-batch-database

与这个有类似/相关的问题,我在这里添加以供参考: