首页 > 解决方案 > 当 Spring Batch 插入 BATCH_JOB_EXECUTION 时出现 BadSqlGrammarException

问题描述

我正在创建一个从 CSV 文件读取并写入 DB2 数据库的 spring-batch 应用程序。

春季启动版本:2.0.5.RELEASE

<dependency>
    <groupId>com.ibm.db2.jcc</groupId>
    <artifactId>db2jcc</artifactId>
    <version>db2jcc4</version>
</dependency>

当 Spring Batch 尝试插入 BATCH_JOB_EXECUTION 表时,我收到了 BadSqlGrammarException。

引起:org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; 错误的 SQL 语法 [INSERT into BATCH_JOB_EXECUTION(JOB_EXECUTION_ID, JOB_INSTANCE_ID, START_TIME, END_TIME, STATUS, EXIT_CODE, EXIT_MESSAGE, VERSION, CREATE_TIME, LAST_UPDATED, JOB_CONFIGURATION_LOCATION) 值 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; 嵌套异常是 com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL 错误: SQLCODE=-206, SQLSTATE=42703, SQLERRMC=JOB_CONFIGURATION_LOCATION, DRIVER=4.26.14Caused by: org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; 错误的 SQL 语法 [INSERT into BATCH_JOB_EXECUTION(JOB_EXECUTION_ID, JOB_INSTANCE_ID, START_TIME, END_TIME, STATUS, EXIT_CODE, EXIT_MESSAGE, VERSION, CREATE_TIME, LAST_UPDATED, JOB_CONFIGURATION_LOCATION) 值 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; 嵌套异常是 com.ibm。

提前感谢任何有助于解决此问题的支持和指导。

标签: db2spring-batch

解决方案


DB2 SQL Error: SQLCODE=-206, SQLSTATE=42703, SQLERRMC=JOB_CONFIGURATION_LOCATION

由此,SQLSTATE 42703 的意思An undefined column or parameter name was detected。所以很可能是由于BATCH_JOB_EXECUTION没有JOB_CONFIGURATION_LOCATION列。

确保您的批处理相关表具有与此相同的架构。


推荐阅读