db2 - 当 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。
提前感谢任何有助于解决此问题的支持和指导。
解决方案
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
列。
确保您的批处理相关表具有与此相同的架构。
推荐阅读
- javascript - 第三个下拉菜单基于前 2 个下拉菜单的选择,但第三个下拉菜单的状态始终落后 1 步
- javascript - JS Mergesort 重载堆栈的问题
- apache - 如何调整此 URL 重写以正确处理“点”...?
- python - 将值映射到其他值
- python - 从 pandas 数据框中获取每个客户的最新数据
- sprite-kit - SKView 没有覆盖整个屏幕区域
- python - 动画未在 Spyder 中显示
- ios - 传递依赖于另一个绑定的绑定
- powershell - 在 PowerShell 中使用 WinSCP 将 FTP 与本地目录进行比较
- three.js - 使用三个js在VR中找到耳机的角度