Spring批处理表未创建时无异常

mar*_*yam 4 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

Mah*_*ine 6

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

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

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