当前位置: 首页 > 知识库问答 >
问题:

不创建Spring批处理表时也不例外

上官飞
2023-03-14

如果BATCH_JOB_EXECUTION_CONTEXT没有创建,我得到的结果是:

由:org.springframework.jdbc.badsqlgrammareXception:PreparedStatementCallback;错误的SQL语法[插入BATCH_JOB_EXECUTION_CONTEXT(SHORT_CONTEXT,SERIALIZED_CONTEXT,JOB_EXECUTION_ID)值(?,?,?)];嵌套异常是java.sql.sqlsyntaxerrorexception:ORA-00942:表或视图不存在

上面的错误在插入到表中时显示,但在创建表的时刻(由spring batch自动完成)没有显示任何错误。

共有1个答案

施季
2023-03-14

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

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

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

    null
 类似资料:
  • 反正可以禁用SQL,我只是想测试我的读写器和处理器工作正常。

  • 问题内容: 我只是使用Spring Batch框架创建了一个批处理作业,但是我没有运行CREATE SQL的数据库特权。当我尝试运行批处理作业时,在框架尝试创建TABLE_BATCH_INSTANCE时遇到错误。我尝试禁用 但是我尝试后仍然遇到错误 无论如何都可以禁用SQL,我只想测试我的阅读器编写器和处理器是否正常工作。 问题答案: 使用Spring Boot 2.0,你可能需要以下代码:htt

  • 我正在使用Spring Batch,我知道它可以自动创建元表。我不需要它们,我尝试了:或,我总是有这个错误:

  • 我使用这个模式在mariadb-https://github.com/spring-projects/spring-batch/blob/master/spring-batch-core/src/main/resources/org/springframework/batch/core/schema-mysql.sql中创建Spring批处理表。 BATCH_JOB_EXECUTION_PARAM

  • 在Spring batch中(请参见https://docs.Spring.io/spring-batch/3.0.x/reference/html/metadataschema.html),有六个表: batch_job_execution batch_job_execution_context batch_job_execution_params batch_job_instance batc

  • 我想使用不同的模式来保存Spring批处理表。我可以在<code>JobRepositoryFactoryBean<code>中看到我的新数据源。但这些表仍然是在另一个shcema中创建的,在那里我有业务表。我在这里读到了可以使用<code>数据源的soemwhere。setValidationQuery来更改模式,但仍然不起作用。我能解决这个问题。下面是<code>JobRepositoryFa